EDN首页   博客首页

日志档案

发表于 2007-9-26 20:45:28

1

标签: mega8  同步通信  

以前的部分手记01

07.7.20

   Mega8 的同步通信 

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

 

心得:

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

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

系统分类: 单片机   |   用户分类: 无分类   |   来源: 原创   |   【推荐给朋友】   |   【添加到收藏夹】

    阅读(487)    回复(0)  

投一票您将和博主都有获奖机会!