[应用相关] 一步一步使用 STemWin 在 STM32 上开发一 个简单的应用

[复制链接]
 楼主| 盗铃何须掩耳 发表于 2022-1-26 10:23 | 显示全部楼层 |阅读模式
问题问题:
STemWin 是 ST MCU 为工程师提供的免费的 GUI 开发库,而且这个库是集成并发布在 STM32CubeFW
对应的软件包 :  

4135161f0b0778f9df.png
其中不但包含了库文件,而且包含了使用 STemWin 的文档 API 介绍, PC 端的处理工具(如图片转换工具、
字体转换工具等):
5109761f0b08202dac.png
由于 STemWin 提供的文档只是比较详细的介绍了这些 API 使用功能,但是对于初次接触和使用
STemWin 开发应用的工程师来说希望有一个简单的类似一个 helloworld 的小应用来简述一下整个开发过程.


 楼主| 盗铃何须掩耳 发表于 2022-1-26 10:23 | 显示全部楼层
本帖最后由 盗铃何须掩耳 于 2022-1-26 10:24 编辑

调研调研:
比如我们需要使用 STemWin 来在 STM32F429Discovery 评估板上实现一个 smartwatch 的简单应用:  

9937361f0b09b79c18.png
我们需要准备的资源有:
4204761f0b0a2c5017.png
以下是开发的步骤:
1. 使用 GIMP 图像处理工具将图像裁剪合适大小
7749261f0b0abf38a5.png
2. 将 png 格式图像转换为 bmp 图像
9996961f0b0cadc75d.png
3. 使用 BmpCvtST 软件将 bmp 转换为 c 文件
3771161f0b0d3942a5.png
4. 将 c 文件加入到 STM32CubeFW 的 STemWin 例程中
5376661f0b0de8f0cc.png
5. 编写应用程序
9443761f0b0e79c84b.png
9683961f0b0ec0edab.png
6.调试运行
9987661f0b0f58628d.png
 楼主| 盗铃何须掩耳 发表于 2022-1-26 10:25 | 显示全部楼层
结论结论:
通过以上简单的 6 个步骤就可以使用 STemWin 提供的 GUI 库和工具软件来生成一个简单的应
用了,是不是很方便使用呢,而且
STemWin 是免费的哦;-)
处理处理:
另附参考代码 :
  1. extern GUI_CONST_STORAGE GUI_BITMAP bmbackground;
  2. extern GUI_CONST_STORAGE GUI_BITMAP bmboy1;
  3. extern GUI_CONST_STORAGE GUI_BITMAP bmboy2;
  4. extern GUI_CONST_STORAGE GUI_BITMAP bm**;
  5. extern GUI_CONST_STORAGE GUI_BITMAP bmsport;
  6. extern GUI_CONST_STORAGE GUI_BITMAP bmwatch;
  7. static void smartwatch_run(void)
  8. {
  9. ///draw the background and delay 3s
  10. GUI_DrawBitmap(&bmbackground, 0,0);
  11. GUI_Delay(3*1000);
  12. ///draw the stm32 smartwatch ** and delay 3s
  13. GUI_DrawBitmap(&bm**, 0,0);
  14. GUI_Delay(3*1000);
  15. ///draw the watch and delay 3s
  16. GUI_DrawBitmap(&bmwatch, 0,0);
  17. GUI_Delay(3*1000);
  18. ///The boy running on the playground...
  19. while(1)
  20. {
  21. GUI_DrawBitmap(&bmsport, 0,0);
  22. GUI_DrawBitmap(&bmboy1, 90,60);
  23. GUI_Delay(500);
  24. GUI_DrawBitmap(&bmsport, 0,0);
  25. GUI_DrawBitmap(&bmboy2, 90,60);
  26. GUI_Delay(500);
  27. }
  28. }
  29. /*********************************************************************
  30. *
  31. * MainTask
  32. */
  33. void MainTask(void) {
  34. GUI_Clear();
  35. GUI_SetFont(&GUI_Font20_1);
  36. #if 0
  37. GUI_DispStringAt("Hello world!", (LCD_GetXSize()-100)/2, (LCD_GetYSize()-
  38. 20)/2);
  39. #else
  40. smartwatch_run();
  41. #endif
  42. while(1);
  43. }

  


海滨消消 发表于 2022-1-26 15:39 来自手机 | 显示全部楼层
还是挺方便的
sdlls 发表于 2022-2-22 17:36 | 显示全部楼层
stemwin需要操作系统的支持吗
kiwis66 发表于 2022-2-23 14:00 | 显示全部楼层
霍,这界面做的真不错,金属光泽都出来了
mickit 发表于 2022-2-23 16:49 | 显示全部楼层
有人在用STemWin的GUI库吗
soodesyt 发表于 2022-2-23 17:17 | 显示全部楼层
stemwin怎么运行到gui
jackcat 发表于 2022-2-23 18:13 | 显示全部楼层
stemwin只能用于stm32吗
belindagraham 发表于 2022-2-23 18:42 | 显示全部楼层

stemwin 可以实现组态吗
htmlme 发表于 2022-2-23 19:17 | 显示全部楼层
stemwin支持的屏幕有哪些
hilahope 发表于 2022-2-23 19:47 | 显示全部楼层
如何移植STemwin PC仿真下的Sample例程到开发板
suzhanhua 发表于 2022-2-23 20:17 | 显示全部楼层
如何使用stemwin 控件3维效果
louliana 发表于 2022-2-23 20:45 | 显示全部楼层
stemwin中的guibuilder适用于ucgui吗
mnynt121 发表于 2022-2-23 21:15 | 显示全部楼层
stm32f1 ucos+stemwin ram够用吗
bestwell 发表于 2022-3-3 22:30 | 显示全部楼层
stm32f4 和stemwin数据流是怎么样的
AloneKaven 发表于 2022-10-7 20:01 | 显示全部楼层
界面搞的真好
Uriah 发表于 2022-10-9 12:30 | 显示全部楼层

确定好硬件原理图,硬件布线,最后才是软件的开发
Bblythe 发表于 2022-10-9 15:29 | 显示全部楼层

ART2固定使用PCLK时钟,只有开启和关闭的问题,不存在其它时钟源选择
Pulitzer 发表于 2022-10-9 18:28 | 显示全部楼层

清除与电镀动作都会在化学过程中完成
您需要登录后才可以回帖 登录 | 注册

本版积分规则

50

主题

385

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部