程序是经过删减的,不知道为什么,在从公司拷回宿舍的电脑的过程中,main文件空了,于是我临时用记事本写了点东西上去,基本表达一下意思。不过也无所谓,本来也就是个Demo,重点在于移植。3 _3 f j. M. a' d' I, s$ T
7 o. o7 ^& V% R1 Q$ Z
这个源码将ucGUI3.90a的源码移植到了STM32上,TFT用的是ili9320驱动,支持触摸屏。7 e/ C: |0 V- d3 t" P( g
6 C+ Y7 i8 ^1 c9 `$ u8 q在bsp中开辟了两个定时器,一个算10ms,一个算1s。
' B/ h: F) j+ J. R+ i& p在stm32f103x_it.c这个文件中处理两个定时器,10ms的那个实现了ucGUI用户手册上说的1s中调用GUI_TouchExec()这个函数100次左右用来检测触摸,1s的那个是为了有时候一些测试性能时候的方便设置的,那个可以删掉。! ]) s. w% j% l! ?3 R, K: c- o3 I
2 |" c9 ?% s9 |0 ]+ C4 ]
因为是裸奔的,自然就不能指望多任务了,经过适当的初始化之后,把要实现的功能写在main函数中好了,记得在超级循环中加入GUI_Exec()来实现回调。2 y1 o* P0 }6 r" C* {
m$ ^2 k0 H7 O6 m( q
驱动是经过我适当优化的,主要就是去掉函数层层调用,直接改用寄存器操作,尽量使用TFT驱动IC的窗口模式等这种没有什么技术含量的优化,太有技术含量的我也不会,而且深究下去的话会降低ucGUI原本代码的可读性,没有必要了。因为这个暂时还不是重点。% l# Q X* N7 x" }& W- m
& D* k1 j' ~1 A9 g4 Z2 C. q( W
也就这样了,如果有对ucGUI有兴趣的,欢迎一起交流,我在2群199418378,找sprone好了。0 J( l# b7 W6 Y- Y; O2 L
* F2 V, Q' l4 Z l7 ?顺带说一句,如果要在TFT上显示个数值什么的非中文的字符的话,用这个模板轻易搞定,呵呵,只要再bsp中间把你的数据采集到,在主函数中处理好,只要调用ucGUI那个显示字符的函数就可以了。
! h! S) e2 ~+ e. Y! `9 |) o! w0 l& b |

, d. H1 z/ |% c! ~0 m3.45 MB, 下载次数: 947
! n" y% {) R B7 z) x0 f3 X8 K/ K
+ J' r* X$ e3 x1 p. ySTM32裸奔ucGUI R) ?0 ?0 |; U
3 s7 n+ }8 d' ^ |