导语:如果使用TouchGFX用户界面控制硬件,需要熟悉C++语言。C++相信很多人都不会。使用TouchGFX开发酷的界面,因为C++卡住很多人。
C和C++各自有自身的重要功能,为了能够做到充分利用,避免重复造轮子,有的时候,我们会用到混合编程。
安装
IAR,这里不做介绍。
打开TouchGFX 4.10.0 Designer软件,
点击CREATE新建一个项目。
软件自动从网上下载本项目需要用到的GUI和模板代码(有时下载很慢;如果出现红字提示失败,就再尝试 create 一次、直到成功),出现软件的设计画面:
点击YES
增加一个按钮,具体如何实现,请看另外一篇
https://bbs.eeworld.com.cn/forum.php?mod=viewthread&tid=1074010&extra=
重点来了。如何实现交互
增加一个动作,按着标识做就好。
点击右上角,生成代码
打开保存项目的目录,(再说强调,项目路径不能包含中文)本人直接默认在C盘
用IAR8.0以上版本打开IAR项目,低版本的IAR没试过。
点OK。打开项目了
可以直接点击编译,会出错(如何使用IAR,在这里不讨论,需要有IAR知识破)
出错了。
是因为IAR项目的芯片没选对。
更改成
现次编译,成功了
插播,如果IAR出现这种对话枢,一定要点NO
新建按钮交互的C语言.h头文件
test.h
保存路径C:\TouchGFXProjects\Labeler8\TouchGFX\generated\gui_generated\include\gui_generated\screen1_screen
新建按钮交互的C语言.c实现文件,并增加到项目中。
test.c
保存路径C:\TouchGFXProjects\Labeler8\TouchGFX\generated\gui_generated\src\screen1_screen
IAR编译,没出错。
这样就可以实现用户界面控制硬件LED灯了。
认真观看,就会发现,就是C++语言调用c语言。
void buttontest(void);这个函数在Screen1ViewBase.cpp这个文件中被调用。也就是
TouchGFX软件在增加交互动作时,调用外部C++函数,我只不过替换成c语言
回到TouchGFX软件,可以继续编辑,生成代码。
最终实现IAR和TouchGFX交互开发
此内容由EEWORLD论坛网友boming原创,如需转载或用于商业用途需征得作者同意并注明出处