28335 CAN 接收进不了中断,也收不到数据,下面是程序,请大神帮忙看看

28335 CAN 接收进不了中断,也收不到数据,下面是程序,请大神帮忙看看,第1张

原程序好像只对CAN的GPIO进行了初始化,对CAN并见到相关的初始化函数,这个函数碰族友包括了中断类型与中断使笑槐能。另外,CAN的消息ID需要与主机发送的一样,穗樱否则也进不了中断。

这可能跟你定时器设定的timer0执行频率有关岩梁,当count等于0时,while(count)还未得到执行就又被中断打断了

可以粗枝运在timer0中写搭颤:if ( count ) count--试试,或者在timer0中把中断关了就是

CPUFreqInMHz是DSP的实际工作频率,这个参数的单位是MHz,

PeriodInUSec是要定时的时间长度,单位是微秒

定时值=定时长度/(CPU的周期)=定时长度×CPU的频率

Timer->RegsAddr->PRD.all= temp 向定时器周期寄存器赋值

Timer->RegsAddr->TPR.all = 0

Timer->RegsAddr->TPRH.all = 0;历春

上面两句是配置定时器预定标寄存器,每个定时器源时钟周期TIM(定时器计数器)减一

Timer->RegsAddr->TCR.bit.TSS = 1 // 1 = Stop timer, 0 = Start/Restart Timer

Timer->RegsAddr->TCR.bit.TRB = 1 // 1 = reload timer

Timer->RegsAddr->TCR.bit.SOFT = 0

Timer->RegsAddr->TCR.bit.FREE = 0// Timer Free Run Disabled

Timer->RegsAddr->TCR.bit.TIE = 1 /肢仿耐/ 0 = Disable/ 1 = Enable Timer Interrupt

上面这五句是配置定时器控制寄存器,TSS写1,停止定时器;TRB写1,使能定时器重新装载;SOFT=0、FREE=0是配置CPU定时器仿真模式;TIE写1,CPU定时器中断使能大蚂。

以上是我的理解,我也是刚学,如有错误,还望高三指点


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12538072.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存