UART在现在的PC是不常见了,但是在嵌入式领域里面依然是不可或缺的一个接口,不管是调试,红外还是其他基本的通信,用UART相对于其他总线来说总是来的简单方便一下,而且由于技术成熟开发起来也更加快捷。
CC2430自带了USART,可以配置成UART或者SPI模式,由于CC2430管脚的限制,所以只能同时使用两个外设,我就搞不懂为啥chipcon将CC2430的管脚的USART还非设个位置1位置2干什么,只要固定一个位置,可以配置不是一样的灵活好用么?
加了位置可变反而要写更多的代码进行更多的配置不是变的麻烦了么?
关于CC2430的UART使用其实前面一节SPI&LCD已经有过涉及了,这里主要是要注意一下UART的数据传输格式和波特率的配置,配置的波特率一定要和自己的串口调试助手是一样的不然的话出来乱码可不要怪我没有提醒啊,呵呵!
关键代码主要是UART的发送部分:
void UART_SEND_U0(uchar *data,int length){
//UART Send data
while(length--){
U0DBUF = 0X90;
U0DBUF = *data++;
while(!UTX0IF);
UTX0IF = 0;
}
}
我这里是通过查询传输完成中断标志来进行的,如果打开中断的话可以在中断服务程序中进行数据的处理,也就没必要通过查询的方式来判断UART是否发送完数据了!
https://static.assets-stash.eet-china.com/album/old-resources/2010/1/18/d3a4e0c4-af5b-4d78-9bd5-7d553200b67d.rar
文章评论(0条评论)
登录后参与讨论