本帖最后由 jinglixixi 于 2020-12-25 08:56 編輯
Micro-Lab可輕松地在上位機(jī)設(shè)計(jì)出表現(xiàn)形式豐富多樣的界面,且通過串行通訊將上位機(jī)和下位機(jī)有機(jī)地聯(lián)合起來。 在界面制作方面,該軟件為用戶提供了3類組件,即控制組件、顯示組件及圖表組件。 其中顯示組件的內(nèi)容最為豐富,它又包含進(jìn)度球、電池、儀表盤、數(shù)碼管、溫度計(jì)等組件,見圖1所示。
1.jpg (33.04 KB, 下載次數(shù): 99)
下載附件
2020-12-25 08:54 上傳
圖1 顯示組件及使用
在界面設(shè)計(jì)時(shí),只需將相應(yīng)的組件拖到畫布中即可,此外還可修改所用組件的屬性值。 下面制作一個(gè)包括3個(gè)組件的界面,其運(yùn)行效果見圖2和圖3所示。
2.jpg (13.74 KB, 下載次數(shù): 99)
下載附件
2020-12-25 08:54 上傳
圖2 運(yùn)行效果
3.jpg (41.59 KB, 下載次數(shù): 96)
下載附件
2020-12-25 08:54 上傳
圖3 接收下位機(jī)數(shù)據(jù)
由出品方所提供的下位機(jī)例程是采用STM32F103開發(fā)板,而本次所用的下位機(jī)則是GD32307E開發(fā)板,為此對源程序進(jìn)行了相應(yīng)的功能移植,且按照實(shí)際需要進(jìn)行了裁剪,相應(yīng)的主程序?yàn)椋?/font> - int main(void)
- {
- float x = 0;
- /* configure systick */
- systick_config();
- /* configure EVAL_COM1 */
- gd_eval_com_init(EVAL_COM1);
- while (1)
- {
- // 進(jìn)度球
- updateCanvas(WATERLEVER, 0, (char *)&x, sizeof(float));
- delay_1ms(500);
- // 電池
- updateCanvas(BATTERY, 0, (char *)&x, sizeof(float));
- delay_1ms(100);
- // 數(shù)碼管
- updateCanvas(LCDNUMBER, 0, (char *)&x, sizeof(float));
- delay_1ms(1000);
- x++;
- if(x>=100)
- {
- x = 0;
- }
- }
- }
復(fù)制代碼
其作用是:以一定的時(shí)間間隔向上位機(jī)發(fā)送相應(yīng)的組件信息,進(jìn)而刷新相應(yīng)組件的狀態(tài)。其中,變量x的值就是驅(qū)動(dòng)3個(gè)字節(jié)更新的關(guān)鍵。受組件屬性的制約,變量x的取值范圍被設(shè)置在0~100之內(nèi)。
|