原创 以前的部分手记01

2007-9-26 20:45 3043 4 4 分类: MCU/ 嵌入式

<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />07.7.20


   Mega8 的同步通信 


这几天在调试自己做的mega8 试验板,感觉还不错,内部资源用起来还是挺顺的,但是被同步串口通信给卡住了,经示波器检查,(经过几次经验的积累,我已经很习惯得使用示波器了来检查信号输出是不是正常的了) 发现TXD有信号输出,但是XCK就是不输出clock信号,通过改寄存器的设置发现,TXD输出的信号是正常的,并且无论DDRD4 写的是输入还是输出模式,TXD都一直在发送数据,我想是不是模式设错了, 设成了异步模式?后来发现“写”的无论是同步模式还是异步模式,输出的结果还是一样的,通过AVR stdio的仿真,发现MUSEL1(同步模式的),经过再三检查datasheet 通过一遍又一遍的看pdf 仔细检查了各个寄存器,还是没有看出问题,最后在和小强检查时才发现是因为UCSRCUBRRH共用,写的时候最高位要设置的原因。


<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 


心得:


1.       datasheet的时候不要错过任何一个细节。不要觉得没有用就不看了。


2.       仿真的也不一定是完全正确的。看到的也不一定是真实的,即使是读写寄存器的值的时候,看仿真输出是你要的结果,在电路板上跑起来的时候就不一定是你要的了。

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
4
关闭 站长推荐上一条 /3 下一条