本帖最后由 jinglixixi 于 2020-12-25 08:55 编辑
Micro-Lab可轻松地在上位机设计出表现形式丰富多样的界面,且通过串行通讯将上位机和下位机有机地联合起来。 在界面制作方面,该软件为用户提供了3类组件,即控制组件、显示组件及图表组件。 其中显示组件的内容最为丰富,它又包含进度球、电池、仪表盘、数码管、温度计等组件,见图1所示。 图1 显示组件及使用
在界面设计时,只需将相应的组件拖到画布中即可,此外还可修改所用组件的属性值。 下面制作一个包括3个组件的界面,其运行效果见图2和图3所示。 图2 运行效果
图3 接收下位机数据
由出品方所提供的下位机例程是采用STM32F103开发板,而本次所用的下位机则是GD32307E开发板,为此对源程序进行了相应的功能移植,且按照实际需要进行了裁剪,相应的主程序为: - int main(void)
- {
- float x = 0;
- /* configure systick */
- systick_config();
- /* configure EVAL_COM1 */
- gd_eval_com_init(EVAL_COM1);
- while (1)
- {
- // 进度球
- updateCanvas(WATERLEVER, 0, (char *)&x, sizeof(float));
- delay_1ms(500);
- // 电池
- updateCanvas(BATTERY, 0, (char *)&x, sizeof(float));
- delay_1ms(100);
- // 数码管
- updateCanvas(LCDNUMBER, 0, (char *)&x, sizeof(float));
- delay_1ms(1000);
- x++;
- if(x>=100)
- {
- x = 0;
- }
- }
- }
复制代码
其作用是:以一定的时间间隔向上位机发送相应的组件信息,进而刷新相应组件的状态。其中,变量x的值就是驱动3个字节更新的关键。受组件属性的制约,变量x的取值范围被设置在0~100之内。
|