所有分析都是建昌慎并立在你的硬件电路没设计错误,没焊接错误的情况下。
万用表先测量CPU电源电压是否正确。5V?
看你说的路子,你好像是要同一个CPU,发出去数据,然后再自己接收回来。若是这样,请保证CPU的RXD和TXD脚已经短路了。
你没说你烧写的程序,是否开启了看门耐迹狗。若开启了看门狗,孝凳你在程序中没有复位看门狗的语句,那你的程序其实就是在不停地复位,根本无法工作起来。
UBRR0L = 0x51
UBRR0H = 0x00
这两句请把顺序颠倒过来,先给UBRR0H赋值,再给UBRR0L赋值。具体请查阅PDF文档,大部分AVR中,需要这么特殊处理。
你的程序没给完整,无法判断你的接收程序正确与否。你是用中断接收还是查询接收?若是中断接收,全局中断开放否?接收程序是否将相关标志位复位以便下次再次接收数据了?会否已经正确接收到数据了,但你的判断方法有问题?
只能参考到此了,祝顺利!
ATMEGA88PA用到其中两个定时器中断,悉斗森一个定时器T0中断时间为32us,另一个定时器T2中断时间为64us,当两个定时器同时启用时,定时时间会相互影响。当在处理T0/T2的中断程序时来T2/T0的中断,会先处理完T0/T2中断程序,才能去执行T2/T0的中断程序,这样就造成定时错误。T0的定时时序要求严格不能变,T2的可变,有没有什么办法确保T0能按32us正常定时?销液两定时器需同时工作睁亩,且中断代码无法缩减。我来帮他解答
风格亏侍不同的程序看的很累的。。。总体没什么问题。查查uiTimeCnt是不是在某种情况下会溢出。清0的动作似乎没有。溢出的可能性很大。而这个参数可能被你UpdatePwm();调用。影响到占空比。另。归0的那一禅空码路周期处理是不是贺哪会有失控的可能?处理上这一路的同步似乎不好。7路结束完还空了两三个周期处理其他东西。占空比是不是没有更新?请考虑一下。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)