完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
【创龙AM4379 Cortex-A9试用体验】之基于QT5.4.1的点亮、熄灭LED的程序开发 在上一篇使用报告中,我们初步的移植了QT5.4.1到创龙TL4379开发板,并做了一个简单的测试Demo。这篇测试报告在上一篇的基础上,结合创龙提供的例程,编写一个基于我们自己移植好的QT5.4.1的LED点亮、熄灭LED灯的测试程序。 1.创建工程 进入/media/tl-437x目录,启动qtcreator,创建一个QT工程,工程名为qt-led,步骤如下: 在File菜单下选择新建项目,如图所: 选择QtGui Application,如图所示: 设置工程名以及工程路径,如图所示: 选择程序运行的系统平台: 选择GUI的主窗口基类: 最后点击finish按钮,结束工程向导。 设计界面如图所示: 给每个按钮设置命令处理函数,设置方法见上一篇试用报告。 2. 实现各个按钮的功能函数 void Widget::on_led1on_clicked() { system("echo 1 > /sys/class/leds/user-led0/brightness"); } void Widget::on_led1off_clicked() { system("echo 0 > /sys/class/leds/user-led0/brightness"); } void Widget::on_led2on_clicked() { system("echo 1 > /sys/class/leds/user-led1/brightness"); } void Widget::on_led2off_clicked() { system("echo 0 > /sys/class/leds/user-led1/brightness"); } void Widget::on_led3on_clicked() { system("echo 1 > /sys/class/leds/user-led2/brightness"); } void Widget::on_led3off_clicked() { system("echo 0 > /sys/class/leds/user-led2/brightness"); } void Widget::on_led4on_clicked() { system("echo 1 > /sys/class/leds/user-led3/brightness"); } void Widget::on_led4off_clicked() { system("echo 0 > /sys/class/leds/user-led3/brightness"); } void Widget::on_ledallon_clicked() { system("echo 1 > /sys/class/leds/user-led0/brightness"); system("echo 1 > /sys/class/leds/user-led1/brightness"); system("echo 1 > /sys/class/leds/user-led2/brightness"); system("echo 1 > /sys/class/leds/user-led3/brightness"); } void Widget::on_ledalloff_clicked() { system("echo 0 > /sys/class/leds/user-led0/brightness"); system("echo 0 > /sys/class/leds/user-led1/brightness"); system("echo 0 > /sys/class/leds/user-led2/brightness"); system("echo 0 > /sys/class/leds/user-led3/brightness"); } 编译QT工程,在/home/myqtproject/qt-led-build-tl4379-tslib-Debug下查看编译好的QT可执行程序,如图所示: 3. 测试LED亮灭控制程序 1)拷贝qt-led到NFS共享目录 cp //home/myqtproject/qt-led-build-tl4379-tslib-Debug/qt-led/nfsshare 2) 开发板挂载NFS mount -t nfs 192.168.1.136:/nfsshare /mnt-o nolcok 3) 关闭TL-4379板载自动启动的UI程序 /etc/init.d/matrix-gui-2.0 stop 4) 启动qt-led程序 ./qt-let -plugintslib:/dev/input/touchscreen0 程序运行结果如图所示: 此时,我们看到4个LED灯在初始状态下全亮。 我们按下LED2 OFF和LED3 OFF,按钮,效果如图所示: 从图中可以看出,只剩下LED1和LED4亮灯。我们按下ALL OFF按钮,效果如下图所示: 下面的4颗LED等全部熄灭。我们按下ALL ON 按钮,效果如图所示: 4颗LED又全部被点亮。 4. 小结 将QT界面与TL-4379外围硬件相结合,我们实现了通过触摸屏控制LED的亮灭状态,我们还可以通过读取GPIO状态,以QT可视化的GUI界面进行显示。例子虽然简单,但是我们可以举一反三,逐步实现更加复杂的功能。
|
|
相关推荐
|
|
你正在撰写讨论
如果你是对讨论或其他讨论精选点评或询问,请使用“评论”功能。
飞凌嵌入式ElfBoard ELF 1板卡-CAN编程示例之开发板测试
678 浏览 0 评论
该问题是用APP给芯海科技的CST92F25芯片发指令是出现的
2286 浏览 1 评论
789 浏览 0 评论
1553 浏览 1 评论
2306 浏览 1 评论
浏览过的版块 |
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 18:13 , Processed in 0.602020 second(s), Total 65, Slave 47 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号