当前位置: 首页 > news >正文

网站开发交流快速赚钱的软件

网站开发交流,快速赚钱的软件,怎么挑选网站主机,济南公司网站建设在自己的电脑上构建出一套模块配置模板,可以大幅节省DSP程序开发时间,从而达到事半功倍的效果。对于初学者,掌握了模块配置,也就能实现大部分的单片机功能。 在DSP28335模块配置模板系列,不仅会给出GPIO、ADC、EQEP、E…

      在自己的电脑上构建出一套模块配置模板,可以大幅节省DSP程序开发时间,从而达到事半功倍的效果。对于初学者,掌握了模块配置,也就能实现大部分的单片机功能。

        在DSP28335模块配置模板系列,不仅会给出GPIO、ADC、EQEP、EPWM、定时器、中断、DAC、SPI、SPC、I2C等模块的配置模板,同时也会深入底层原理,解释为何要这样配置。

        后续还会给出DSP2837xd的模块配置模板系列。

在构建各模块配置的模板之前,先给出主函数的通用模板:

void main()
{InitSysCtrl();  InitPieCtrl();IER = 0x0000;IFR = 0x0000;InitPieVectTable();
}

其中InitSysCtrl()是TI官方提供的源文件DSP2833x_SysCtrl.c中定义的一个初始化系统控制寄存器的函数,主要功能有三个,分别是:

1.关闭看门狗

   DisableDog();

        看门狗(Watchdog Timer,WDT)是一种用于监控系统是否正常运行的硬件定时器,当系统出现异常情况(如死循环、挂起等)而无法在规定时间内复位看门狗定时器时,看门狗定时器会溢出,并自动复位系统,让系统恢复到正常运行状态。由于系统初始化的过程包括时钟配置、外设时钟初始化等多个步骤,这些步骤需要较长的时间才能完成,而看门狗定时器的溢出时间是固定的。如果初始化时间超过了看门狗定时器的溢出时间,看门狗会触发系统复位从而影响系统初始化的过程。因此,在系统初始化开始之前,需要关闭看门狗定时器。          

2.初始化PLL寄存器

   InitPll(DSP28_PLLCR,DSP28_DIVSEL);

        PLL是DSP的相位锁定环,它能实现同步输出信号与输出信号的相位和频率的功能,DSP28335芯片使用外部30Mhz晶振,外部晶振信号通过芯片内部的振荡器(OSC)产生一个频率为30Mhz的基准时钟信号,该基准信号输入到PLL模块中,使得PLL输出的信号与基准信号在相位上保持锁定,再通过PLL模块的倍频操作,将基准时钟信号的频率提高到所需的工作频率,然后经过必要的分频,调整到合适的CPU工作时钟频率,最终将时钟信号送入CPU中使用。 InitPll函数的两个输入分别是倍频系数和分频系数,这里输入的是两个宏定义变量,倍频系数DSP28_PLLCR为10,分频系数DSP28_DIVSEL为2,所以CPU工作频率为30Mhz*10/2=150Mhz。

        这里存在一个有趣的问题:可不可以将倍频系数设置为10,分频系数设置为1,这样CPU工作频率不就达到300Mhz了吗? 答案是,虽然PLL可以进行倍频操作,但芯片的最大工作频率是有限制的,DSP28335的最大工作频率通常为150Mhz,DSP2837xd的最大工作频率通常为200Mhz。   

3.初始化外设时钟并对需要使用的外设时钟进行使能

   InitPeripheralClocks();

         不同的外设所需要的时钟频率是不一样的,通过这个函数,可以设置各种外设的时钟频率,以及使能相应的外设时钟,同时禁用不需要的外设时钟以减少能耗。

        其中InitPieCtrl()是TI官方提供的源文件DSP2833x_PieCtrl.c中定义的一个初始化PIE控制寄存器的函数,主要功能有:禁用PIE模块;清除所有PIE中断使能寄存器(PIEIER);清除所有PIE中断标志寄存器(PIEIFR),目的是确保在后续的操作中,系统处于一个已知的、安全的中断状态。

        IER寄存器用于控制哪些中断请求能够被CPU响应,将其设置为0表示禁用所有中断,使得CPU不会响应任何中断请求,确保在初始化过程中不会发生中断。

        IFR寄存器用于标识哪些中断事件已经发生,将其设置为0表示清除所有中断标志,确保系统在初始化后没有残留的中断事件。

        其中InitPieVectTable()是TI官方提供的源文件DSP2833x_PieVect.c中定义的一个初始化PIE向量表的函数,主要功能是将初始的PIE向量表内容复制到实际使用的PIE向量表中,并启用PIE向量表,以确保系统能够正确响应中断请求。

        在主函数中初始化系统时钟、初始化外设时钟、初始化PIE使能和标志寄存器以及初始化PIE向量表后,接下来就可以开始进行GPIO模块的配置:

1.开启GPIO时钟

 SysCtrlRegs.PCLKCR3.bit.GPIOINENCLK = 1;

2.设置GPIO复用功能

        GPIO管脚有多个功能,例如GPIO50有三个功能分别是:通用I/O、EQEP1A(I)、XD(29),如果需要将GPIO50管脚设置为通用I/O功能,则需要对相应的寄存器进行设置:

GpioCtrlRegs.GPCMUX1.bit.GPIO50=0;

3.设置GPIO方向(输入还是输出)

        设置GPIO管脚为输出管脚

GpioCtrlRegs.GPCDIR.bit.GPIO50=1;//设置GPIO方向为输出

4.设置GPIO上拉电阻

        当GPIO引脚配置为输入且未连接到明确的高或低电平信号时,该引脚会处于浮动状态,容易受到环境噪声影响,导致不稳定的信号,上拉电阻将引脚拉到高电平,防止其浮动,确保引脚处于稳定的已知状态

GpioCtrlRegs.GPCPUD.bit.GPIO50=0;//使能GPIO上拉电阻

完整的GPIO模块配置的函数为:

void GPIO_Init()
{EALLOW;SysCtrlRegs.PCLKCR3.bit.GPIOINENCLK = 1;GpioCtrlRegs.GPCMUX1.bit.GPIO50=0;GpioCtrlRegs.GPCDIR.bit.GPIO50=1;GpioCtrlRegs.GPCPUD.bit.GPIO50=0;EDIS;
}

此外,可以通过对GPIO数据寄存器的有关位进行设置,分别让GPIO管脚实现高电平、低电平、翻转电平的输出:

GpioDataRegs.GPCSET.bit.GPIO50=1;
GpioDataRegs.GPCCLEAR.bit.GPIO50=1;
GpioDataRegs.GPCTOGGLE.bit.GPIO50=1;

http://www.yayakq.cn/news/308362/

相关文章:

  • wordpress phpwind洛阳400电话洛阳网站seo
  • 网站友情链接怎么做运城推广型网站开发
  • .win域名做网站怎么样紧急消息石家庄
  • 沛县网站制作百度开放云做网站
  • 今科网站建设费用郑州网站制作网页
  • 网站建设控制网站建设分金手指科捷13
  • 珠海网站开发价格网站首页改版影响优化
  • 金坛市建设局网站网站背景图片切换
  • 天津宏宇网站建设seo外包优化
  • 带论坛的网站模板下载html访问人数统计代码
  • 舟山建设技术学校网站公司网站做的一样算不算侵权6
  • 医院网站备案前置审批网站建设原则
  • 收费网站必须备案吗东台做网站
  • 安徽教育平台网站建设wordpress批量修改图片src
  • 汕头网站推广公司网站维护 英语
  • 鲤城网站建设推广服务公司php网站开发框架搭建
  • 我的网站百度怎么搜索不到织梦网站首页
  • 陕西省建设厅网站怎么查焊工证柳州网站建设哪家
  • 怎么注册网站的步骤网站描述多个词怎么分隔
  • 做培训网站wordpress lnmp 伪静态
  • 襄阳网站建设找下拉哥科技外贸人才网下载
  • 网站文章页的排名怎么做泰安网页设计招聘
  • 常见c2c网站有哪些wordpress 1.0
  • 网站建设沈阳公司哪家好做网站怎么销售
  • 想做企业网站外贸营销软件
  • 网站宣传的方法有哪些网站集约建设后网站域名规范
  • 自行车网站模板郑州网站公司
  • 小宽带怎样做视频网站该网站暂时无法访问404
  • 网站服务器vps百度和阿里哪个厉害做网站
  • 广州网站建设十年乐云seo免费室内设计素材网站