程序是经过删减的,不知道为什么,在从公司拷回宿舍的电脑的过程中,main文件空了,于是我临时用记事本写了点东西上去,基本表达一下意思。不过也无所谓,本来也就是个Demo,重点在于移植。
6 ~4 }, D( @7 `1 j
. m' ]1 A# \6 s L( Z这个源码将ucGUI3.90a的源码移植到了STM32上,TFT用的是ili9320驱动,支持触摸屏。
9 x6 \9 w3 Z C: T9 h3 j1 [
! e9 X: A! h8 ?; l在bsp中开辟了两个定时器,一个算10ms,一个算1s。
# G3 h6 `6 m% y3 ?# Q- @在stm32f103x_it.c这个文件中处理两个定时器,10ms的那个实现了ucGUI用户手册上说的1s中调用GUI_TouchExec()这个函数100次左右用来检测触摸,1s的那个是为了有时候一些测试性能时候的方便设置的,那个可以删掉。' g! ~$ a; l# l5 n% a# _5 L4 e5 h
: J3 A+ I5 B! p4 O% X因为是裸奔的,自然就不能指望多任务了,经过适当的初始化之后,把要实现的功能写在main函数中好了,记得在超级循环中加入GUI_Exec()来实现回调。
5 r1 V7 C1 U' r
. d/ d; R/ B' g9 B& f- [$ @2 Z驱动是经过我适当优化的,主要就是去掉函数层层调用,直接改用寄存器操作,尽量使用TFT驱动IC的窗口模式等这种没有什么技术含量的优化,太有技术含量的我也不会,而且深究下去的话会降低ucGUI原本代码的可读性,没有必要了。因为这个暂时还不是重点。( {3 C, X8 E! }! q; y3 `
" ?$ E; P: s* C* L; q
也就这样了,如果有对ucGUI有兴趣的,欢迎一起交流,我在2群199418378,找sprone好了。
# b% U" |/ a" x+ s& B) U( s
% ~& v$ `' N8 g# h! i$ P, j顺带说一句,如果要在TFT上显示个数值什么的非中文的字符的话,用这个模板轻易搞定,呵呵,只要再bsp中间把你的数据采集到,在主函数中处理好,只要调用ucGUI那个显示字符的函数就可以了。+ m" K$ y! y9 @3 T5 C% j/ b3 w
|
2 q% u T6 t8 P& [
3.45 MB, 下载次数: 947
; a) l! P0 @% i1 q
1 u2 v; ^: S8 R6 \) O( z \. YSTM32裸奔ucGUI $ e S Z: E1 i5 O& N; S4 i
8 s6 f0 G' F, v& k
|