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