對LPC900系列單片機在射頻數傳模塊中的研究
2 軟件開發(fā)及調試
2.1 數傳模塊軟件基本結構說明
射頻傳輸芯片CCl000具有3種狀態(tài):IDEL(空閑),RX(接收數據),TX(發(fā)送數據)。整體上看,這是個具有3種狀態(tài)的狀態(tài)機模型,狀態(tài)之間的相互轉換見圖2。模塊主程序除了完成基本的芯片初始化工作外,程序的運行主要是根據在CC1000的DCLK管腳產生的中斷,由中斷管理程序進行狀態(tài)檢測及切換.
2.2 軟件調試開發(fā)中遇到的問題分析
該開發(fā)平臺采用的軟件開發(fā)環(huán)境為μVisionⅡ。該環(huán)境內嵌多種符合當前工業(yè)標準的開發(fā)工具,可以完成從工程建立和管理、編譯、連接、目標代碼的生成,軟件仿真,硬件仿真等完整的開發(fā)流程。即使不使用C語言而僅用匯編語言編程,其方便的集成環(huán)境、強大的軟件仿真調試工具也會令開發(fā)進度大大加快。但是其開發(fā)環(huán)境又有其自身的特色,需要對其中一些特殊的問題加以考慮。
2.2.1 程序中的關鍵字
在進行程序設計時不能使用C51編譯器的關鍵字來定義變量名或者函數名。C51是區(qū)別大、小字母的,而關鍵字都是小寫字母。
一些函數定義從字面上看沒有問題,但在編譯時均指示錯誤,查看C51關鍵字有關目錄,查出原因在于變量參數data為其關鍵字,造成了編譯時的錯誤。
下面列出了一些常用的關鍵字,在程序設計時定義變量或函數名時應特別注意避免使用:
_at_,alien,bdata,bit,code,data,idata,large,pdata,sbit,sfr,sfrl6,smal,task,using,xdata,priority。
2.2.2 BIT和SBIT的區(qū)別和全局變量、局部變量的使用
bit主要用位變量操作。sbit雖然也是用于位變量的操作,但其使用范圍較bit更廣泛。sbit不僅可以用于定義可位尋址寄存器的各個位,使我們可以對寄存器進行位操作,sbit的另一個重要作用在于構建類似于共用體數據類型,這種數據類型在LPC922與CC1000的串行/并行數據相互轉換中起著重要的作用。例如:
unsigned char bdata myDatas2;//定義一個可位尋址的全局變量
?。x變量的各個位
sbit cDatas0=myDatas2^O;
sbit cDatasl=myDatas2^l;
sbit cDatas2=myDatas2^2;
sbit cDatas3=myDatas2^3;
sbit eDatas4=myDatas2^4;
sbit eDatas5=myDatas2^5;
sbit cDatas6=myDatas2^6;
sbit cDatas7=myDatas2^7;
評論