标题: 以GD32307E开发板驱动显示组件 [打印本页]

作者: jinglixixi    时间: 2020-12-25 08:54
标题: 以GD32307E开发板驱动显示组件
本帖最后由 jinglixixi 于 2020-12-25 08:56 编辑

Micro-Lab可轻松地在上位机设计出表现形式丰富多样的界面,且通过串行通讯将上位机和下位机有机地联合起来。
在界面制作方面,该软件为用户提供了3类组件,即控制组件、显示组件及图表组件。
其中显示组件的内容最为丰富,它又包含进度球、电池、仪表盘、数码管、温度计等组件,见图1所示。
1 显示组件及使用

在界面设计时,只需将相应的组件拖到画布中即可,此外还可修改所用组件的属性值。
下面制作一个包括3个组件的界面,其运行效果见图2和图3所示。
2 运行效果

3 接收下位机数据

由出品方所提供的下位机例程是采用STM32F103开发板,而本次所用的下位机则是GD32307E开发板,为此对源程序进行了相应的功能移植,且按照实际需要进行了裁剪,相应的主程序为:
  1. int main(void)
  2. {
  3. float x = 0;
  4. /* configure systick */
  5. systick_config();
  6. /* configure EVAL_COM1 */
  7. gd_eval_com_init(EVAL_COM1);
  8. while (1)
  9. {
  10. //  进度球
  11. updateCanvas(WATERLEVER, 0, (char *)&x, sizeof(float));
  12. delay_1ms(500);     
  13. //  电池
  14. updateCanvas(BATTERY, 0, (char *)&x, sizeof(float));
  15. delay_1ms(100);
  16. //  数码管
  17. updateCanvas(LCDNUMBER, 0, (char *)&x, sizeof(float));
  18. delay_1ms(1000);   
  19. x++;
  20. if(x>=100)
  21. {
  22. x = 0;
  23. }
  24. }
  25. }
复制代码

其作用是:以一定的时间间隔向上位机发送相应的组件信息,进而刷新相应组件的状态。其中,变量x的值就是驱动3个字节更新的关键。受组件属性的制约,变量x的取值范围被设置在0~100之内。






欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1