STM32F103學(xué)習(xí)筆記 (十一) USMART調(diào)試組件
usmart組件簡(jiǎn)直就是調(diào)試神奇,利用它,則只需要在串口調(diào)試助手里面輸入函數(shù)及參數(shù),然后直接串口發(fā)送給單片機(jī),就執(zhí)行了一次參數(shù)調(diào)整,不滿意的話,你在串口調(diào)試助手修改參數(shù)在發(fā)送就可以了,直到你滿意為止。
支持的類型有: 10 或者 16 進(jìn)制數(shù)字、字符串指針(如果該參數(shù)是用作參數(shù)返回的話,可能會(huì)有問題!)、函數(shù)指針等。
使用USMART 調(diào)用的函數(shù),必須將文件添加到usmart_config.c:
只要把函數(shù)所在頭文件添加進(jìn)來,并把函數(shù)名按上圖所示的方,增加即可。
主函數(shù)很簡(jiǎn)單,就是在屏幕上顯示一些內(nèi)容:
intmain(void)
{
delay_init();//延時(shí)函數(shù)初始化
NVIC_Configuration();//設(shè)置NVIC中斷分組2:2位搶占優(yōu)先級(jí),2位響應(yīng)優(yōu)先級(jí)
uart_init(9600);//串口初始化波特率為9600
LED_Init();//LED端口初始化
279
LCD_Init();
usmart_dev.init(SystemCoreClock/1000000);//初始化USMART
POINT_COLOR=RED;
LCD_ShowString(30,50,200,16,16,"MiniSTM32^_^");
LCD_ShowString(30,70,200,16,16,"USMARTTEST");
LCD_ShowString(30,90,200,16,16,"ATOM@ALIENTEK");
LCD_ShowString(30,110,200,16,16,"2011/6/18");
while(1)
{
LED0=!LED0;delay_ms(500);
}
}
最后,要在串口助手里通過usmart組件調(diào)試函數(shù),
(1)id,該指令用于獲取各個(gè)函數(shù)的入口地址;
(2)?和 help,這兩個(gè)指令的功能是一樣的。發(fā)送該指令后,串口將打印 usmart 使用的幫助信
息;
(3)hex 和 dec,這兩個(gè)指令可以帶參數(shù),也可以不帶參數(shù)。當(dāng)不帶參數(shù)的時(shí)候, hex 和 dec 分別用于設(shè)置串口顯示數(shù)據(jù)格式為 16 進(jìn)制/10 進(jìn)制。當(dāng)帶參數(shù)的時(shí)候, hex 和 dec 就執(zhí)行進(jìn)制轉(zhuǎn)換,比如輸入: hex 1234,串口將打?。?HEX:0X4D2,也就是將 1234 轉(zhuǎn)換為 16 進(jìn)制打印出來。又比如輸入: dec 0X1234,串口將打?。?DEC:4660,就是將 0X1234 轉(zhuǎn)換為 10 進(jìn)制打印出來。
(4)list,該命令用于打印所有 usmart 可調(diào)用函數(shù)。
(5)runtime 指令,用于函數(shù)執(zhí)行時(shí)間統(tǒng)計(jì)功能的開啟和關(guān)閉,發(fā)送: runtime 1,可以開啟函數(shù)
執(zhí)行時(shí)間統(tǒng)計(jì)功能;發(fā)送: runtime 0,可以關(guān)閉函數(shù)執(zhí)行時(shí)間統(tǒng)計(jì)功能。函數(shù)執(zhí)行時(shí)間統(tǒng)計(jì)功
能,默認(rèn)是關(guān)閉的。