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

qq官方网站登录入口南阳网站建设域名公司

qq官方网站登录入口,南阳网站建设域名公司,学做ps的软件的网站有哪些,可信赖的镇江网站建设在自己的电脑上构建出一套模块配置模板,可以大幅节省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/366222/

相关文章:

  • 雅思培训机构哪家好机构排名seo运营学校
  • 网站建设 会员可以看的内容更多谷歌云 wordpress 建站
  • 校园在线网站怎么做东莞网站建设和制作
  • 外贸网站建设优化上海施工单位
  • 做房地产要自己开网站0基础学习网站建设
  • 墙外必去的网站未备案的网站 访问 hots
  • 网站设计用的技术工程建设标准化
  • 建设网站需要哪些东西wordpress get_the_date
  • 做论坛网站如何赚钱的免费动态域名解析软件
  • 好看的美食网站设计福州 网站设计
  • 哪个网站可以做360度评估wordpress不显示内容你
  • 南昌外包建站韩国做hh网站
  • 学做php网站做网站的手机软件
  • 邯郸做wap网站的地方宁波最专业的seo公司
  • 公司建设网站需求分析报告在线做爰直播网站
  • 重庆市工程建设信息网新网站动画设计方案及内容
  • wordpress 进去管理成都seo的方法
  • 玉林电信网站备案设计公司的企业远景
  • 成都科技网站建设电话厦门做百度推广的网站
  • 好的网站设计培训机构公司网站设计注意什么
  • 简洁文章类织梦网站模板wordpress怎么接受邮件
  • 网站代唐山网站关键词优化
  • 五金制品东莞网站建设企业邮箱多少钱一年
  • 文化旅游做的好的网站asp+网站开发
  • 专门做网站的公司 南阳wordpress设置外网
  • 基于用户体验的网站设计WordPress连接云储存
  • 如何快速建立网站wordpress 如何布局
  • 海口市住房和城乡建设局 网站incapsula wordpress
  • 一个门户网站怎么做市场调研报告万能模板
  • 加强制度建设 信息公开 网站 专栏开发公司交房前期的各项准备工作