CC2430 –UART简析
TI-zigbee-CC2430 –UART是片山数字资源数据采集处理不可避免的基本通信单元,下面以西安达泰电子zigbee开发套件为例,简单讲解下CC2430的串口基本工作原理
在串口接收数据的这个部分有两种方法——查询法和中断法:
1.查询法就是要串口一直处于等待的状态,看串口上是不是有数据(主要是看URX0IF的值,一旦是1,表示串口上有数据并且串口上的数据已经接收完毕可以进行下一步的操作了)一旦数据接收完毕,就开始对接收的数据进行相应的操作。这个方法需要让程序一直等待串口,所以个人觉得效率还是比较的低的,不过通过使用发现这种方法的稳定性还是比较的高的,所以个人建议就是如果你做的项目里只有与串口相关的工作的话,那么还是用查询的比较的好。
2.中断法,这种方法是运用的串口中断服务子程序(ISR)来完成的,如果串口上有值的话,那么会调用中断向量,中断向量则把程序指针指到相应的ISR中去。对接收到的数据的操作在ISR中进行,ISR完成之后程序指针会跳回中断前的地方继续进行刚才被中断的事情,中断法就是这么一个流程了。这种方法的效率比较的高,而且程序不需要一直的等待串口,但是个人认为这种方法的稳定性不如查询的方式,出错率比较的高。不过如果你想要完成更多的工作的话,这种方法还是比较的适用的。说了这么多理论的问题,现在举几个例子吧。
下面是一个查询法的程序段:
void UartRX_Send_String(char *Data,int len)
{
int j;
for(j=0;j