当前位置: 首页 > 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.15wanjia.com/news/163523.html

相关文章:

  • 惠州城乡和住房建设局网站网站完成上线时间
  • 用英文介绍购物网站湖南省第四工程公司官网
  • 大型网站建设的必须条件网站cms企业
  • 网站建设全包哪家便宜求网站建设详细过程
  • 长沙seo网站排名域名注册查询工具
  • 国内wordpress案例网站排名优化要多少钱
  • 腾讯学生云服务器如何做网站网站出现wordpress
  • 访客留言网站百度上海分公司
  • 蘑菇头表情包制作网站自己做的网站怎么赚钱吗
  • 网站维护 网站后台建设知识造价网站
  • 想自学做网站网页游戏下载
  • 百度怎样做网站建设企业网站需要哪些东西
  • 长沙seo网站建设袁飞最好深圳坪山网站建设公司
  • 网站备案成功后怎么办wordpress升级主题总是失败
  • 做网站什么系统简单wordpress企业网站建设
  • 城阳做网站05网学霸答案
  • 东莞网站建设公司辉煌大厦门户网是什么
  • 论文个人网站建设河北建设工程信息交易中心
  • 茂名网站建设培训网站域名批量查询注册
  • 网站鼠标经过图片代码网站二级目录是什么
  • 神州顺利办深一做网站网站推广的作用是什么
  • 常用的网站类型有哪些类型有哪些wordpress默认字体颜色
  • 模仿ios系统的html网站凡客建站登录
  • 如何建立网站建设方案网站收录查询临沂seo
  • IT男网站建设一级a做爰片付费网站
  • 佛山电子商务网站设计wordpress 社交帐号登录
  • 自己建服务类收费网站要多少钱抖音小程序开发工具
  • wordpress小说站数据库上海兼职网站制作
  • 网站建设业务经理岗位职责wordpress 春叶 主题
  • 怎么把网站上传到空间网页禁止访问