程序是经过删减的,不知道为什么,在从公司拷回宿舍的电脑的过程中,main文件空了,于是我临时用记事本写了点东西上去,基本表达一下意思。不过也无所谓,本来也就是个Demo,重点在于移植。3 ^1 G' v1 I; ]- U5 x! \
" \4 L7 I% X! o' @# s- A这个源码将ucGUI3.90a的源码移植到了STM32上,TFT用的是ili9320驱动,支持触摸屏。) d2 k- ]5 M8 X& b7 P/ L. H. z
# [0 w: }6 j/ q- [8 W% Y
在bsp中开辟了两个定时器,一个算10ms,一个算1s。' ?, ~0 M; B- E
在stm32f103x_it.c这个文件中处理两个定时器,10ms的那个实现了ucGUI用户手册上说的1s中调用GUI_TouchExec()这个函数100次左右用来检测触摸,1s的那个是为了有时候一些测试性能时候的方便设置的,那个可以删掉。" t# w, ?6 }, J& q7 l/ _, ?
$ N; \( C8 Q2 \# c# P4 ^2 U8 w7 i/ J因为是裸奔的,自然就不能指望多任务了,经过适当的初始化之后,把要实现的功能写在main函数中好了,记得在超级循环中加入GUI_Exec()来实现回调。; Y; i, v8 \: d" ^: f1 c
3 `# f1 U4 L k6 d; \
驱动是经过我适当优化的,主要就是去掉函数层层调用,直接改用寄存器操作,尽量使用TFT驱动IC的窗口模式等这种没有什么技术含量的优化,太有技术含量的我也不会,而且深究下去的话会降低ucGUI原本代码的可读性,没有必要了。因为这个暂时还不是重点。
$ `7 a g }1 m$ a5 b1 x
6 b8 E: d% A/ @2 G4 b6 b也就这样了,如果有对ucGUI有兴趣的,欢迎一起交流,我在2群199418378,找sprone好了。
9 F/ c- b+ e9 V
- j- d% K, k# ~, r/ X# y+ ]1 D顺带说一句,如果要在TFT上显示个数值什么的非中文的字符的话,用这个模板轻易搞定,呵呵,只要再bsp中间把你的数据采集到,在主函数中处理好,只要调用ucGUI那个显示字符的函数就可以了。3 o" o9 k1 l8 d& U8 a
|

" v+ ~4 Z8 s: K5 L8 K/ a3.45 MB, 下载次数: 947
8 z% ]; Y, [8 |# p. o4 w6 p# d6 [$ h/ V* `# d) V7 Z
STM32裸奔ucGUI * o: E8 ^$ a- O- A+ o
% N1 F) j6 { X% J+ k |