am4397使用qt5程序控制gpio管脚

自己之前写的适应于arm的qt5人机交互程序,现在需要实现将qt5程序中的按键对应的arm(这里是am4397)的实体管脚,实现qt5程序按钮控制arm的gpio管脚。


一、找好管脚分配对应

1、首先打开SCHEMATIC1 _ 06_Am4379_Core_Con.pdf,在这里面有四个管脚如图所示是我需要进行分配和配置的。


2、复制需要配置的管脚名ARM_SPI3_SCLK,去掉前面的ARM_前缀,然后到am4379.pdf进行详细的配置选项搜索,如图可知,am437x的管脚是使用的复用模式,一个管脚口根据模式选择的不同,可以使用不同的功能,默认是0模式,复位模式7,由于我们要使用的是它的gpio功能,所以得修改为7模式。


这里注意,着这个文档可能搜到多个结果,所以我们需要复制ARM_SPI3_SCLK的对应口编号,即B13,然后打开SCHEMATIC1 _ Page 03_CORE_CONNE.pdf搜索对应的结果。如下图,可知B13对应的正是CAM1_DATA3。这和上图中的PIN NAME正好对应,所以就选择这个对应的。


3、同理找到其他的管脚,最后笔记记下一下结果:



二、进行相应模式的配置

打开Linux,进入开发板linux目录下,我这里是/media/tl437x/linux-3.14.26/arch/arm/boot/dts/下的am437x-gp-evm.dts文件。


打开这个文件,找到cam1_data3所在的这两段,把它们都先注释掉,我们使用未命名的管脚来使用它们。


然后找到下面的unused_pins: unused_pins {}这一部分,然后在里面添加刚才的管脚,格式内容和上面注释的那块儿一样就好,如下图。


然后保存文件,cd到内核目录(/media/tl437x/linux-3.14.26)下,使用make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- am437x-gp-evm.dtb命令编译此设备树文件。发现有错误,应该是注释以后,有些与之关联的函数没有找到对应的东西,所以产生的错误,把它们都找出来注释就好。


再次打开文档。


把相关的这一段删掉,再次编译,出现以下显示,表示成功。


这时可以在/media/tl437x/linux-3.14.26/arch/arm/boot/dts下找到编译好的设备树文件。



三、拷贝

把编译好的文件分别拷贝到arm内存卡的boot下和rootfs下的boot中


四、qt5中的程序编写


之前已经写好了gpio的控制类,这里就不写了,如果需要可以私信我。这里需要讲一下gpio控制的相关知识:

linux下面有一个通用的GPIO操作接口,那就是我要介绍的 “/sys/class/gpio” 方式。

  • 0
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值