CC2430串口设置问题解决后的感想

问题是这样的,cc2430可以设置两个串口,一个已经被使用了,所以我想用另外一个,也就是uart1,貌似只要把所有的0改成1就可以了,我也这样做了,可是不成功啊.于是我翻阅了使用手册,中文的,哎~,没看明白,就连串口对应的I/O口都没有,我就非常纳闷,为什么串口0一定要用P0_2和P0_3呢?

我想一定有什么我没注意到的,于是我再仔细看了一遍,还是没有,也许是我眼力不行吧,于是我打开了原版的英文手册,哈~,很清晰嘛,有一张I/O口的表格,指明了串口0和串口1对应的I/O口,如果也有和我一样不明白的朋友可以翻翻英文手册.

然后我重新接了I/O口,也就是接了P0_4和P0_5,可是还是没有数据传输,问题到底出在什么地方呢?

cc2430的寄存器挺多的,我看的时候没有仔细,譬如P0DIR和P1DIR是设置口方向的,然后我就认为P2DIR也是这样的,问题就出在这个地方,P2DIR的7,6位是设置串口的优先级的,默认是00,当然是串口0优先啦,哎~这个地方要改成01,这样就是串口1优先,也就是P2DIR|=0x40;再试一次,yes,搞定.

从这个问题,我感觉手册还是看看原版的,当然像我这种单词记不住的可以结合起来看,以原版的做为标准.国人的翻译不是很尽责啊.还有就是寄存器的设置一定要小心,惯性思维每个人都有,所以要更加仔细看,我感觉设计芯片的人应该也是想节省寄存器吧,不然干什么混在一起啊?

 

帮朋友网站做个外链

posted on 2010-04-01 10:43  Zero Cool  阅读(562)  评论(2编辑  收藏  举报

导航