程序是经过删减的,不知道为什么,在从公司拷回宿舍的电脑的过程中,main文件空了,于是我临时用记事本写了点东西上去,基本表达一下意思。不过也无所谓,本来也就是个Demo,重点在于移植。. z2 @1 p; C, v Y. g0 G; g& m
3 r4 P& T$ v7 m0 p% ~. {7 `$ f1 {这个源码将ucGUI3.90a的源码移植到了STM32上,TFT用的是ili9320驱动,支持触摸屏。
8 d- A/ Q9 W, _- h
2 V3 b$ U4 F0 k2 N+ F在bsp中开辟了两个定时器,一个算10ms,一个算1s。( r2 r2 O8 V: ^$ }. ]
在stm32f103x_it.c这个文件中处理两个定时器,10ms的那个实现了ucGUI用户手册上说的1s中调用GUI_TouchExec()这个函数100次左右用来检测触摸,1s的那个是为了有时候一些测试性能时候的方便设置的,那个可以删掉。
) H0 ~! B/ k6 }' j# ?
/ `2 }2 W9 M8 a+ `因为是裸奔的,自然就不能指望多任务了,经过适当的初始化之后,把要实现的功能写在main函数中好了,记得在超级循环中加入GUI_Exec()来实现回调。
/ q. }, w. E9 g4 f4 c+ V
5 _ A- O9 p4 e2 V驱动是经过我适当优化的,主要就是去掉函数层层调用,直接改用寄存器操作,尽量使用TFT驱动IC的窗口模式等这种没有什么技术含量的优化,太有技术含量的我也不会,而且深究下去的话会降低ucGUI原本代码的可读性,没有必要了。因为这个暂时还不是重点。
w7 _ v* T& ]2 p1 z1 q2 h, y+ A/ h$ J& b8 Z Y
也就这样了,如果有对ucGUI有兴趣的,欢迎一起交流,我在2群199418378,找sprone好了。
' `- [8 r( @( Q8 l% k6 V( W, n" U' Z# ]: N
顺带说一句,如果要在TFT上显示个数值什么的非中文的字符的话,用这个模板轻易搞定,呵呵,只要再bsp中间把你的数据采集到,在主函数中处理好,只要调用ucGUI那个显示字符的函数就可以了。* y1 b" C2 z( {! a, p
| 6 O _0 w4 V( r! n
3.45 MB, 下载次数: 947/ n9 A: r8 _0 R6 O: j7 `
. m6 j, B' b2 FSTM32裸奔ucGUI + J; c9 z2 C" f/ M
* R8 b- y' J0 H1 P
|