新塘N32926 操作GPIO的注意事项

在使用新塘N32926进行GPIO操作时遇到问题,LED控制和输入口无响应。经分析发现,GPIO复用寄存器未正确配置,GPC3-6默认设为LCD引脚,而GPG7,9默认为模拟音频输入输出。通过查阅手册,修改复用寄存器设置和针对GPG7,9的特殊操作,解决了问题。" 107126583,9567206,C语言实现:两个有序链表的交集,"['C语言', '数据结构', '算法']
摘要由CSDN通过智能技术生成


前段时间要使用新塘的N32926开发项目,需要使用到GPIO控制输入输出。本来很简单的东西,踩到了坑,特此记录下来。如果是需要看GPIO例程的,请查看新塘资料包的DEMO

1. 问题描述

以前也用过Stm32这类处理器,操作GPIO只要按标准来配置一下寄存器之类的就好了。
项目中需要使用GPC3,4,5,6用作LED的控制口。板子启动过程中可以看到灯先会全部亮起。在启动Linux后,使用bash进行GPIO读写,虽然可以设置为I/O模式,但是设置为输出模式时,改变输出值,万用表量测毫无反应。
后续还使用到了GPG7,9作为输入口,也出现了类似GPIO无反应的问题。

2. 问题分析定位和解决

首先检查‘GPX n’在系统内编号是否有问题。新塘官方DEMO的README提示每个GPIO组有32个编址,百度到了一个资料说没有GPF,所以GPG直接接在GPE后面编号,这是要注意的,虽然这个错我一开始也没有犯。
README文档中,有一句这样的话:
The GPIO driver does not touch register MFSEL, and assumes the pin user application trys to control is configured as GPIO pin. In other words, the driver use the same pin must be unselect in kernel configuration.
Please make sure “menuconfig->device drivers->GPIO support->/sys/class/gpio” and

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值