中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. 新聞中心

        EEPW首頁 > 模擬技術(shù) > 設(shè)計應(yīng)用 > 采用MAXQ1103評估套件和面向MAXQ30的CrossW

        采用MAXQ1103評估套件和面向MAXQ30的CrossW

        作者: 時間:2012-05-11 來源:網(wǎng)絡(luò) 收藏

        圖5. Step Over按鈕
        圖5.StepOver按鈕

        CrossStudio通過JTAG電路板把應(yīng)用程序下載到中,Output窗口顯示狀態(tài)消息。應(yīng)用程序?qū)㈤_始運(yùn)行,然后,在代碼第一行停止(左側(cè)空白區(qū)顯示黃色箭頭)。運(yùn)行應(yīng)用程序時,單擊“Play”按鈕(或者選擇DebugGo)?,F(xiàn)在,請確定電路板上的LED正在閃爍。您可能希望能夠在一定程度上修改應(yīng)用程序。使LED按順序閃爍,或者改變點(diǎn)亮?xí)r間,更快或者更慢的閃爍。

        使用CrossStudio調(diào)試應(yīng)用程序

        現(xiàn)在,讓我們了解一下和CrossStudio工具的調(diào)試功能。MAXQ1103有內(nèi)置JTAG引擎,支持在實(shí)際芯片上進(jìn)行調(diào)試,從而不需要昂貴的仿真器或者有可能出錯的模擬器。注意,MAXQ1103還提供鎖定機(jī)制,在元件鎖定時,防止JTAG工作。這樣,當(dāng)MAXQ1103微控制器用在敏感應(yīng)用中時,保證了JTAG調(diào)試引擎不會帶來安全威脅。

        現(xiàn)在,我們返回到最初的Blinky應(yīng)用程序,在主函數(shù)中,把延時從500改到5:

        delayms(5);

        現(xiàn)在,構(gòu)建并運(yùn)行應(yīng)用程序。注意,LED持續(xù)點(diǎn)亮,而不是不斷閃爍。這就是簡單演示代碼第一次編寫并運(yùn)行時的情況。

        這樣會帶來一個基本問題:“燈的確是連續(xù)點(diǎn)亮,還是閃爍非???,而無法察覺呢”?如果燈是連續(xù)點(diǎn)亮,那就有必要檢查原理圖和引腳分配,確定一切OK。如果LED只是很快地閃爍(太快,以至于看不清間隔),那就只需要調(diào)整時間,這是可能需要做的工作。為回答這一問題,我們現(xiàn)在使用CrossStudio的調(diào)試工具。

        按下Pause按鈕(或者選擇DebugBreak)。在代碼停止的地方,出現(xiàn)一個黃色箭頭。代碼很有可能停止在delayms()函數(shù)的‘for’循環(huán)中(參見圖6)。

        圖6. 在delayms()函數(shù)中,代碼停止運(yùn)行
        圖6.在delayms()函數(shù)中,代碼停止運(yùn)行

        觀察右側(cè)的Locals窗口(如果看不到該窗口,單擊DebugDebugWindowsLocals)。該窗口將顯示變量“x”和“count”的當(dāng)前值?,F(xiàn)在,按下StepOver按鈕幾次。在Locals窗口中,您應(yīng)該看到x值增加了(可以連續(xù)按下StepOver,直到循環(huán)結(jié)束,但這可能需要很長的時間)。

        現(xiàn)在,已經(jīng)很容易回答“燈是在閃爍嗎”這一問題了?對此,需要在main函數(shù)的delayms(5)一行設(shè)置斷點(diǎn),單擊該代碼行左側(cè)的小三角。它將變?yōu)榧t圈(圖7)?,F(xiàn)在,再次運(yùn)行應(yīng)用程序(DebugGo,或者Play按鈕)。應(yīng)用程序會運(yùn)行到這一點(diǎn),然后暫?!,F(xiàn)在,點(diǎn)擊Go若干次后,您會看到,隨著您的點(diǎn)擊,燈接通和關(guān)斷。這驗證了燈是在閃爍,只是太快,我們的眼睛無法察覺。

        圖7. 加入斷點(diǎn)
        圖7.加入斷點(diǎn)

        現(xiàn)在,我們借這個機(jī)會了解一下更多的調(diào)試功能。按下StepOver按鈕幾次,按順序執(zhí)行三行代碼:while(1),PO0=PO0^0x83和delayms(5)。您將看到,當(dāng)通過PO0行時,燈閃爍?,F(xiàn)在,當(dāng)暫停在delayms(5)行時,按下StepInto按鈕(圖8),進(jìn)入delayms()函數(shù)(而不是StepOver,這會執(zhí)行整個函數(shù))。

        圖8. Step Into按鈕
        圖8.StepInto按鈕

        在運(yùn)行時,還可以改變變量(和寄存器)。清除所有斷點(diǎn)(DebugBreakpointsClearAllBreakpoints),單擊Go。單擊Pause,程序應(yīng)再次停止在delayms()函數(shù)的中間部分。注意“x”和“count”值。現(xiàn)在,把x設(shè)置為2499(單擊x顯示的數(shù)值,高亮后輸入2499)。執(zhí)行幾次StepOver或者StepInto,您會看到循環(huán)結(jié)束,“count”值也遞減了。

        以及您感興趣的其他調(diào)試功能:DebugDisassembly將同時顯示C代碼和生成的匯編代碼。這樣,用戶可以進(jìn)入?yún)R編代碼,而不是C代碼,同時知道對應(yīng)于C代碼的什么位置。

        DebugDebugWindowsCallStack將顯示應(yīng)用程序到達(dá)當(dāng)前位置時所調(diào)用的函數(shù)。如果在delayms()函數(shù)中暫停執(zhí)行,其顯示如圖9所示。

        使用DebugStop停止調(diào)試,觀察右側(cè)的Targets窗口。確定MaximSerialJTAGAdapter以粗體字顯示,觀察下面的配置選項。如果您使用串口,而不是默認(rèn)的COM1,那么,可以在這里改變這一選項。

        圖9. 在delayms()函數(shù)中運(yùn)行時調(diào)用堆棧



        關(guān)鍵詞: MAXQ CrossW 1103 30

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉