摘要:MAXQ2000是功能強大的低成本、低功耗微控制器,具備支持多種應用系統的豐富外設。Rowley Associates提供了強大的MAXQ開發環境CrossWorks,在該工具的支持下,可以用C語言編寫復雜應用程序并進行調試。本應用筆記說明了如何設置MAXQ2000評估板以及CrossWorks工具的使用入門。作為應用實例,利用LCD顯示一個簡單計數器,以演示MAXQ2000評估板和CrossWorks的功能。
評估板包括3塊電路板,其中一塊帶有小型LCD屏。圖1為連接有LCD子板的最大電路板,這就是實際的MAXQ2000評估板,稍后我們將進行討論。將LCD連接到MAXQ2000評估板(見圖1)上標號為J3的接頭上。
圖1. 安裝了LCD板的MAXQ2000評估板
MAXQ2000加載器和調試引擎使用JTAG協議進行通信。因為實際上沒有用于個人計算機的商業、通用JTAG適配器,所以Dallas Semiconductor提供了一個串口-JTAG轉換電路板,即第三塊電路板。使用評估板帶的小型10芯電纜,將MAXQ2000評估板上標號為J4的接頭與JTAG板上標號為P2的接頭連接。見圖2。注意,連接器紅色一側對應兩個板上的引腳1和2。
圖2. MAXQ2000評估板與JTAG板連接
MAXQ2000評估板上應該有3個跳線。連接頭JU1的引腳1和2應使用跳線相連。同樣,JU2的引腳1和2,以及JU3的引腳1和2也應使用跳線相連。另外,確保高頻晶振安裝在Y1上(靠近電路板上的微控制器)。本應用筆記的演示代碼假定采用16MHz晶振,評估板上安裝了該晶振。JTAG電路板應該也在JH1、JH2和JH3接頭上安裝了3個跳線。
該設置還需要一個中心為正的5V ±5%直流電源。關于電源要求的更多信息請參考MAXQ2000評估板文檔。將電源連接到JTAG板的電源插孔J2上。
最后,將PC串口與JTAG板相連。使用常規的9芯直通串口電纜,將計算機的一個串口與JTAG板的串口相連。注意:不要連接到MAXQ2000評估板上的串口。圖3所示為正確連接。
圖3. 串口電纜與JTAG板的正確連接
現在可以開始使用CrossWorks工具了。
安裝完成后,按下列操作運行MAXQ CrossWorks,從開始菜單起,依次選擇Rowley Associates Limited,然后CrossWorks MAXQ 1.0,最后CrossStudio。主窗口打開后會顯示CrossWorks的功能概要。
創建工程時,首先選擇File,然后是New,再選擇New Project。在出現的對話框中,從模板中選擇C Executable,輸入新工程的名稱和位置,點擊OK (見圖4)。
圖4. 新工程選項對話窗口
在接下來的工程設置對話框(見圖5)中,確認Target Processor選項為MAXQ2000。其它設置可以保留缺省值。點擊Finish產生新的MAXQ2000工程。
圖5. 新工程設置對話窗口
隨后,需要輸入足夠的代碼,讓MAXQ2000評估板做一些有趣的事情。如果工程管理器窗口沒有打開,選擇View,然后選擇Project Explorer打開它。現在可以在工程管理器窗口內雙擊打開main.c文件。輸入下列代碼(先將main.c原來的代碼刪除)。
一旦串口-JTAG板連接就緒后,選擇Build,然后選擇菜單的Build and Run,以創建并執行工程代碼。在輸出窗口應出現以Verify Completed為結尾的一串消息;MAXQ2000評估板上的LCD段顯示器應該隨著代碼的運行而顯示變換信息。
上述代碼演示了MAXQ CrossWorks的多種功能。第一,MAXQ2000的所有寄存器都在包含文件MAXQ2000.h中預先定義。CrossWorks出廠時在目錄%Program Files%Rowley Associates LimitedCrossWorks MAXQ 1.0include下包含該文件。工程編譯時自動搜索該目錄,所以不必將MAXQ2000.h復制到包含工程的目錄下。
工程里包含MAXQ2000.h文件后,代碼就可以直接通過C語言訪問所有MAXQ2000內部寄存器,如上所述,這些寄存器為LCRA、LCFG、LCD0、LCD1、LCD2和LCD3。MAXQ2000支持的全部系統和外設寄存器列表參見MAXQ2000用戶指南補充資料 (English only)。
注意:名稱中包含內置括號的寄存器,如A[0]和DP[0],在CrossWorks中必須用帶下劃線的名稱引用,如A_0和DP_0。另外,可能不能直接用C代碼設置獨立的寄存器位,例如,不允許出現IMR.0 = 0的情況。
本應用程序在LCD上顯示運行的計數器值,象秒表一樣進行連續遞增或遞減計數。計數器值達到19999 (LCD可顯示的最大值)時反轉。MAXQ2000評估板上的兩個按鈕編程為本應用程序的控制開關:
現在可以演示MAXQ2000評估板的一個更有用的性能,即復位(RESET)按鈕。在MAXQ2000評估板的左下側有一個標注為SW2和RESET的開關。按下此按鈕,觀察LCD屏。讀數應該立即從0重新開始。該RESET按鈕連接至MAXQ2000的復位引腳。如果需要重新啟動應用程序,就按此按鈕。
每個打開的LCD段都需要連續的電壓波形來驅動,該電壓波形由連接該段的段線和公用信號線提供。驅動電壓波形使各段按要求打開或關閉,而不會產生可能損壞LCD的直流偏壓。MAXQ2000的LCD控制器在后臺自動產生這些電壓波形。也就是說,當LCD的顯示段發生改變時,只需要修改LCD控制器的寄存器內容。
如上例,第一步是初始化用于控制顯示的LCD控制器寄存器。
圖6. LCD段與LCD顯示存儲寄存器位的映射關系
LCD的各位占用一個LCD顯示存儲寄存器,各個位的分布形式相同。因此,我們可以使用查找表,找到各位0到9的段寄存器值,并將該數值寫到LCD顯示寄存器。
所有MAXQ2000端口引腳(對應JTAG 接口的P4.0到P4.3除外)的上電缺省模式都為輸入模式,端口引腳和VDDIO之間具有內部弱上拉。SW4和SW5開關的連接方式是當按下時將端口引腳拉到地,因此端口引腳已經是我們需要的配置方式了。端口引腳狀態可以非常簡單地通過檢查端口引腳輸入位(SW4為PI5.2,SW5為PI7.1)來獲得;位值為0時表示按鈕按下,為1時表示按鈕松開。
然而,因為這些開關是機械結構的,所以單次按下操作可能造成多次0到1的轉換。為避免這種情況發生,可以使用已有的主循環和延遲作為功能模塊,實現一些簡單的去抖操作。
CrossWorks使用這些硬件調試功能提供C和匯編級源代碼調試,具有完備的調試功能,如設置斷點、觀察變量和寄存器,以及存儲器瀏覽和編輯模式。要進行程序調試,首先選擇Build,接著選擇菜單中的Build and Debug。將進行應用程序編譯、下載到MAXQ2000評估板,最終在main()函數(見圖7)內停止運行。
圖7. CrossWorks調試模式
在圖7中可看到CrossWorks調試器的多項功能。
在調試模式下,有3種不同方法查看應用程序:
圖8. 在交互模式下進行調試
圖9. 寄存器窗口
圖10. Call Stack窗口
圖11. 觀察(Watch)窗口
圖12. 數據存儲器窗口
對不適合公開討論的問題,Dallas Semiconductor工程師們提供兩個email地址。
概述
MAXQ微控制器開發平臺得到Rowley Associates的CrossWorks編程工具的支持。本應用筆記說明怎樣使用CrossWorks v.1.0和MAXQ2000評估板來創建、構建和調試面向MAXQ平臺的C應用程序。這些說明對以后的CrossWorks版本仍然適用。MAXQ2000微控制器的特性會在下面的“設置”部分進行說明。設置MAXQ2000評估板
寫代碼前,必須先連接MAXQ2000評估板。評估板包括3塊電路板,其中一塊帶有小型LCD屏。圖1為連接有LCD子板的最大電路板,這就是實際的MAXQ2000評估板,稍后我們將進行討論。將LCD連接到MAXQ2000評估板(見圖1)上標號為J3的接頭上。
圖1. 安裝了LCD板的MAXQ2000評估板
MAXQ2000加載器和調試引擎使用JTAG協議進行通信。因為實際上沒有用于個人計算機的商業、通用JTAG適配器,所以Dallas Semiconductor提供了一個串口-JTAG轉換電路板,即第三塊電路板。使用評估板帶的小型10芯電纜,將MAXQ2000評估板上標號為J4的接頭與JTAG板上標號為P2的接頭連接。見圖2。注意,連接器紅色一側對應兩個板上的引腳1和2。
圖2. MAXQ2000評估板與JTAG板連接
MAXQ2000評估板上應該有3個跳線。連接頭JU1的引腳1和2應使用跳線相連。同樣,JU2的引腳1和2,以及JU3的引腳1和2也應使用跳線相連。另外,確保高頻晶振安裝在Y1上(靠近電路板上的微控制器)。本應用筆記的演示代碼假定采用16MHz晶振,評估板上安裝了該晶振。JTAG電路板應該也在JH1、JH2和JH3接頭上安裝了3個跳線。
該設置還需要一個中心為正的5V ±5%直流電源。關于電源要求的更多信息請參考MAXQ2000評估板文檔。將電源連接到JTAG板的電源插孔J2上。
最后,將PC串口與JTAG板相連。使用常規的9芯直通串口電纜,將計算機的一個串口與JTAG板的串口相連。注意:不要連接到MAXQ2000評估板上的串口。圖3所示為正確連接。
圖3. 串口電纜與JTAG板的正確連接
現在可以開始使用CrossWorks工具了。
在CrossWorks中創建MAXQ2000工程
Rowley Associates為MAXQ提供全功能CrossWorks (30天評估許可),可以從www.rowley.co.uk/maxq/index.htm下載。按照提示安裝,安裝位置和其它選項選擇缺省值。注意,Rowley Associates的MAXQ CrossWorks目前只有基于Windows平臺的版本。需要發電子郵件給Rowley Associates,索取30天產品激活密鑰,才能繼續安裝。遵循Rowley Associates網站“支持” (Support)欄的指導說明:評估CrossWorks (Evaluating CrossWorks)。安裝完成后,按下列操作運行MAXQ CrossWorks,從開始菜單起,依次選擇Rowley Associates Limited,然后CrossWorks MAXQ 1.0,最后CrossStudio。主窗口打開后會顯示CrossWorks的功能概要。
創建工程時,首先選擇File,然后是New,再選擇New Project。在出現的對話框中,從模板中選擇C Executable,輸入新工程的名稱和位置,點擊OK (見圖4)。
圖4. 新工程選項對話窗口
在接下來的工程設置對話框(見圖5)中,確認Target Processor選項為MAXQ2000。其它設置可以保留缺省值。點擊Finish產生新的MAXQ2000工程。
圖5. 新工程設置對話窗口
隨后,需要輸入足夠的代碼,讓MAXQ2000評估板做一些有趣的事情。如果工程管理器窗口沒有打開,選擇View,然后選擇Project Explorer打開它。現在可以在工程管理器窗口內雙擊打開main.c文件。輸入下列代碼(先將main.c原來的代碼刪除)。
#include輸入上述代碼后,確認MAXQ2000評估板和串口-JTAG板按照上述說明連接完畢和上電。CrossWorks窗口底部的狀態欄應指示MAXQ Serial to JTAG,旁邊有一黃燈。但是,如果指示Disconnected,旁邊帶有灰燈,就要通過選擇Target,隨后選擇菜單中的Connect MAXQ Serial to JTAG來連接串口-JTAG板。void main(void) { int i = 0; int j = 0; int k = 1; LCRA = 0x03E0; // Set LCD configuration LCFG = 0xF3; // Set up all segments as outputs, normal operation // mode, and enable display. while (1) { for (i = 0; i < 500; i++) { for (j = 0; j < 500; j++) { // delay loop } } k = (k << 1); if (k == 64) { k = 1; } LCD0 = k; LCD1 = k; LCD2 = k; LCD3 = k; } }
一旦串口-JTAG板連接就緒后,選擇Build,然后選擇菜單的Build and Run,以創建并執行工程代碼。在輸出窗口應出現以Verify Completed為結尾的一串消息;MAXQ2000評估板上的LCD段顯示器應該隨著代碼的運行而顯示變換信息。
上述代碼演示了MAXQ CrossWorks的多種功能。第一,MAXQ2000的所有寄存器都在包含文件MAXQ2000.h中預先定義。CrossWorks出廠時在目錄%Program Files%Rowley Associates LimitedCrossWorks MAXQ 1.0include下包含該文件。工程編譯時自動搜索該目錄,所以不必將MAXQ2000.h復制到包含工程的目錄下。
工程里包含MAXQ2000.h文件后,代碼就可以直接通過C語言訪問所有MAXQ2000內部寄存器,如上所述,這些寄存器為LCRA、LCFG、LCD0、LCD1、LCD2和LCD3。MAXQ2000支持的全部系統和外設寄存器列表參見MAXQ2000用戶指南補充資料 (English only)。
注意:名稱中包含內置括號的寄存器,如A[0]和DP[0],在CrossWorks中必須用帶下劃線的名稱引用,如A_0和DP_0。另外,可能不能直接用C代碼設置獨立的寄存器位,例如,不允許出現IMR.0 = 0的情況。
MAXQ2000評估板的功能
在進一步了解CrossWorks調試器之前,我們再創建一個更復雜的應用程序,來展示MAXQ2000評估板的一些功能。本實例代碼可以下載。本應用程序在LCD上顯示運行的計數器值,象秒表一樣進行連續遞增或遞減計數。計數器值達到19999 (LCD可顯示的最大值)時反轉。MAXQ2000評估板上的兩個按鈕編程為本應用程序的控制開關:
- 按SW5使計數器值復位至0000。
- 按SW4使計數器反向。如果原先遞增計數,將變為遞減計數,反之亦然。如果計數值低于0,就反轉到19999。
現在可以演示MAXQ2000評估板的一個更有用的性能,即復位(RESET)按鈕。在MAXQ2000評估板的左下側有一個標注為SW2和RESET的開關。按下此按鈕,觀察LCD屏。讀數應該立即從0重新開始。該RESET按鈕連接至MAXQ2000的復位引腳。如果需要重新啟動應用程序,就按此按鈕。
初始化MAXQ2000的LCD控制器
MAXQ2000提供一個液晶顯示(LCD)硬件控制模塊,可運行在全偏壓、1/2偏壓和1/3偏壓模式下,實現靜態、x2、x3或x4復用顯示方式。也就是說,在x4復用顯示器上,MAXQ2000-RAX (COM0到COM3,SEG0到SEG32)上可專用于LCD驅動功能的37條線最多可驅動132個LCD段(33段X 4個公共信號)。每個打開的LCD段都需要連續的電壓波形來驅動,該電壓波形由連接該段的段線和公用信號線提供。驅動電壓波形使各段按要求打開或關閉,而不會產生可能損壞LCD的直流偏壓。MAXQ2000的LCD控制器在后臺自動產生這些電壓波形。也就是說,當LCD的顯示段發生改變時,只需要修改LCD控制器的寄存器內容。
如上例,第一步是初始化用于控制顯示的LCD控制器寄存器。
void initLCD(void) { LCRA = 0x03E0; // Set LCD configuration LCFG = 0xF3; // Set up all segments as outputs, normal operation // mode, and enable display. }LCRA寄存器控制3項重要功能:顯示形式,本例中為靜態;VADJ和地之間的可調電阻,用來修改顯示對比度;以及LCD段驅動波形的頻率。LCFG寄存器控制LCD控制器的開/關,并控制哪些兩用引腳作為端口引腳使用,哪些用作LCD段。
向顯示器寫入數值
各LCD段分別由一個LCD控制顯示寄存器的一位進行控制,與使用的LCD類型和多路復用方式無關。此位置高就打開(黑)該段;清除此位就關閉(透明)該段。我們的MAXQ2000評估板所用的LCD段與存儲器映射關系,如圖6所示。圖6. LCD段與LCD顯示存儲寄存器位的映射關系
LCD的各位占用一個LCD顯示存儲寄存器,各個位的分布形式相同。因此,我們可以使用查找表,找到各位0到9的段寄存器值,并將該數值寫到LCD顯示寄存器。
#define LCD_PATTERN_0 0x03F #define LCD_PATTERN_1 0x006 #define LCD_PATTERN_2 0x05B #define LCD_PATTERN_3 0x04F #define LCD_PATTERN_4 0x066 #define LCD_PATTERN_5 0x06D #define LCD_PATTERN_6 0x07D #define LCD_PATTERN_7 0x007 #define LCD_PATTERN_8 0x07F #define LCD_PATTERN_9 0x067 int PATTERNS[] = { LCD_PATTERN_0, LCD_PATTERN_1, LCD_PATTERN_2, LCD_PATTERN_3, LCD_PATTERN_4, LCD_PATTERN_5, LCD_PATTERN_6, LCD_PATTERN_7, LCD_PATTERN_8, LCD_PATTERN_9 }; /****************************************************************************** * Returns the value that will need to be placed in one of LCD0-LCD3 to display * a digit 0-9. No bounds checking is done here. If you ask for a digit other * than 0-9, you will get a bogus display. */ int getLCDDigit(int digit) { return PATTERNS[digit]; }這些程序準備好后,我們可以采用以下方法,向顯示器寫入計數器值(4位,特殊情況下“1”對應第5位):
int show(int value) { if (value >= 10000) LCD4 = 0x40; else LCD4 = 0; LCD3 = getLCDDigit((value / 1000) % 10); LCD2 = getLCDDigit((value / 100) % 10); LCD1 = getLCDDigit((value / 10) % 10); LCD0 = getLCDDigit((value) % 10); return 0; }
去抖按鈕輸入
按鈕SW4和SW5是本應用程序的另外兩個人機交互元件,分別通過DIP開關部件SW6與端口引腳P5.2和P7.1相連。(RESET開關不需要編程支持,它直接與MAXQ2000低電平有效復位引腳連接)。所有MAXQ2000端口引腳(對應JTAG 接口的P4.0到P4.3除外)的上電缺省模式都為輸入模式,端口引腳和VDDIO之間具有內部弱上拉。SW4和SW5開關的連接方式是當按下時將端口引腳拉到地,因此端口引腳已經是我們需要的配置方式了。端口引腳狀態可以非常簡單地通過檢查端口引腳輸入位(SW4為PI5.2,SW5為PI7.1)來獲得;位值為0時表示按鈕按下,為1時表示按鈕松開。
然而,因為這些開關是機械結構的,所以單次按下操作可能造成多次0到1的轉換。為避免這種情況發生,可以使用已有的主循環和延遲作為功能模塊,實現一些簡單的去抖操作。
while(1) { for (i = 0; i < 32000; i++) { // just a delay loop } show(counter); if (((PI5 & 0x04) == 0) && (debounce1 == 0)) { inc *= -1; debounce1 = 20; } if (((PI7 & 0x02) == 0) && (debounce2 == 0)) { counter = 0; debounce2 = 20; } counter += inc; if (counter > 19999) { counter = 0; } if (counter < 0) { counter = 19999; } if ((debounce1 > 0) && ((PI5 & 0x04) == 0x04)) { debounce1--; } if ((debounce2 > 0) && ((PI7 & 0x02) == 0x02)) { debounce2--; } }當開關由高變低時,設置一個去抖計數器。開關的高狀態必須保持20個主計數器計數周期,才會接受下一次高向低的轉換。去抖計數器除提供開關去抖功能外,還保證了按鈕一直按下時不會重復功能操作;開關必須松開以重新按下。
使用CrossWorks調試器
因程序已經在MAXQ2000上運行,我們可以檢查CrossWorks調試系統的功能。向MAXQ2000加載代碼的JTAG接口還支持許多硬件調試功能。包括以下一些示例:- 指令單步執行
- 執行地址斷點(可以同時有4個有效斷點)
- 直接讀寫寄存器
- 代碼和棧存儲器瀏覽
- 數據存儲器瀏覽和直接編輯
CrossWorks使用這些硬件調試功能提供C和匯編級源代碼調試,具有完備的調試功能,如設置斷點、觀察變量和寄存器,以及存儲器瀏覽和編輯模式。要進行程序調試,首先選擇Build,接著選擇菜單中的Build and Debug。將進行應用程序編譯、下載到MAXQ2000評估板,最終在main()函數(見圖7)內停止運行。
圖7. CrossWorks調試模式
在圖7中可看到CrossWorks調試器的多項功能。
- 頁面左邊有一個黃色箭頭表示當前的執行位置。所有可執行位置(不包括注釋、空白區和一些括號)由左邊的藍色三角形示出。
- 局部變量和它們的值也在應用代碼的右側示出。這些值可通過點擊數值和輸入新值來進行編輯。
- Step Into (F11)執行一行,可以單步執行代碼。如果該行含有函數調用,將單步進入該函數,轉到該函數的開始位置。
- Step Over (F10)也是執行一行,如果該行不包括函數調用的話。如果有函數調用,則連續執行該函數(執行該函數,而不是跳過它),并在該函數調用的下一行停止。
- Step Out (Shift+F11)只能在某一函數(不是最上層函數main())內使用。該功能將連續執行完該函數的其余部分,停在調用該函數行的下一行。
- Run to Cursor (Control+F10)執行到光標所在位置。光標必須處在可執行代碼行上,才能使用該功能。
- Break命令(Control+".")將使應用程序立即停止運行,無論當時處在什么位置。
- 左鍵單擊任何可執行代碼行的藍色三角標記,可在應用程序的相應位置設置斷點。這樣藍色三角形會變成紅色圓圈。應用程序運行到斷點后會停止運行,并重新進入調試模式。程序停止或運行時可以設置或清除多達4個斷點。(注意,因為不同的步進調試功能占用一個斷點,如果采用單步調試模式,只能設置3個斷點)。
在調試模式下,有3種不同方法查看應用程序:
-
li>源代碼模式(Control+T, S)僅以C代碼形式顯示程序。
- 匯編模式(Control+T, A)以匯編語言方式顯示。單步執行和斷點功能可以用于單個匯編行。
- 交錯模式(Control+T, I) (見圖8)在同一個窗口內同時顯示C和匯編代碼。
圖8. 在交互模式下進行調試
使用寄存器窗口
應用程序在調試模式下停止運行時,可以查看并直接編輯MAXQ2000的寄存器(見圖9)。要打開該顯示窗口,選擇Debug,再選擇菜單中的Debug Windows和Registers (1,2,3,4)。可快速瀏覽4個不同寄存器窗口;通過點擊左上部的組(Groups)圖標,可以配置窗口以顯示不同組的寄存器。圖9. 寄存器窗口
使用Call Stack (堆棧使用)窗口
另一個調試窗口顯示了應用程序當前的堆棧使用情況(見圖10)。該窗口列出了到達代碼當前執行點的所有調用函數。當前正在執行的函數顯示在列表最后,調用當前函數的上一個函數顯示在上一行。依次類推,一直按這一顯示模式進行顯示,最后是main()顯示在第一行。要打開此窗口,選擇Debug,再選擇Debug Windows,最后選擇Call Stack,或者按下Control+Alt+S。圖10. Call Stack窗口
使用變量和觀察窗口
Debug和Debug Windows菜單中還提供其它調試窗口。Locals和Globals窗口分別顯示局部變量(當前函數或顯示范圍內)值和全局變量值。局部變量顯示窗口見上面圖7。還有一個Watch窗口,不僅可以用來顯示變量值,而且可以顯示任意C表達式的值(見圖11)。然而,這些表達式中不能有MAXQ2000寄存器。可以定義4個Watch窗口,每個都有獨自的變量和表達式列表。圖11. 觀察(Watch)窗口
查看代碼和數據存儲器
存儲器窗口(選擇Debug,再選擇Debug Windows,最后選擇Memory (1,2,3,4))可以進行配置,以顯示任意代碼段和數據存儲器的當前值。這些值在每步執行后或者停在斷點處時都將更新(見圖12)。另外,可直接點擊數據存儲器值并輸入新值進行編輯。圖12. 數據存儲器窗口
支持選項
MAXQ平臺提供多種支持選項。Dallas Semiconductor開發者管理著一個在線討論論壇 (English only),回答用戶提出的問題。該論壇也是開發者的新聞發布窗口,它包含最新的可用工具信息和其它感興趣的問題。對不適合公開討論的問題,Dallas Semiconductor工程師們提供兩個email地址。
- micro.software@dalsemi.com (English only)由軟件工程師管理,他們可以幫助解決MAXQ微控制器的編程問題,對使用如Rowley Associates'的CrossWorks等軟件工具提供幫助。
- micro.support@dalsemi.com (English only)由應用工程師管理,他們可以協助解決電路中使用MAXQ微控制器碰到的硬件和設計問題。
故障排除
使用任何新器件時都會碰到一些常見問題。通過檢查本文檔前半部分的操作說明,許多問題可以迎刃而解(如電路板連接和工程配置)。下面是另外一些常見問題和解決方法。Problem | Possible Solution |
When I compile my application, I get an "undeclared identifier" error each place I use a MAXQ2000 register. |
Make sure you have the line #include at the start of your application. |
When I select Connect MAXQ Serial to JTAG, I get a "Device is not responding" error. | Make sure: that both boards are connected and powered up; that the JTAG cable connects with the red wire going to pin 1 on both sides; and that jumpers P2 (on the Serial-to-JTAG board) and JU11 (on the MAXQ2000 board) are both closed. |
When I select Connect MAXQ Serial to JTAG, I get a "Cannot open serial link" error. | Make sure no other software is using the COM port you have selected. Often, PDA software will own the serial port from the time you boot your computer. You can either choose a different COM port, or turn off your PDA software. |
The LCD segments are scrambled when I run the demo application. | Make sure that the LCD daughterboard is hanging off the top side of the MAXQ2000 Evaluation kit, not in the position where it hangs downward over the center of the board. |
結論
MAXQ2000是功能強大的低成本、低功耗微控制器,具備支持多種應用系統的豐富外設。在Rowley Associates提供的MAXQ開發環境CrossWorks的支持下,可以用C語言編寫復雜應用程序,并借助這個強大的工具進行調試。這樣,可快速向市場推出高質量的產品。
評論
查看更多