MT7628/MT7688平台上如何配置任何一个管脚为GPIO模式
来源:互联网 发布:mysql 不等于空 编辑:程序博客网 时间:2024/06/07 05:38
这里必须吐槽下:MTK的东西坑很多,MTK的工程师吃屎的,给出的demo就是一个废物。
回归正题,MT7688AN平台的管脚是复用的,很多时候需要把某个管脚去设置为GPIO,去控制LED,或者读取GPIO的电平。
注意:本文适用非OPENWRT平台,后续会推出OPENWRT平台
设置一个管脚为GPIO的步骤分为:
1.配置管脚功能为GPIO模式
2.配置管脚GPIO为输出模式/输入模式
3.写GPIO 数据寄存器/读GPIO数据寄存器
看似很简单,但需要理解MTK的 相关文档。本文使用系统自带的reg工具配置寄存器。
举个例子,我们要控制GPIO#43。
经查阅《MT7628_Datasheet.pdf》,得知GPIO#43为管脚P0_LED_AN,
1.配置管脚功能为GPIO模式,
当GPIO2_MODE的3:2位为1时即为GPIO模式
使用reg配置寄存器GPIO2_MODE:
reg s 0
reg w 64 4
2.配置GPIO#43 为输出模式
经查阅《MT7628_ProgrammingGuide_20140428(E2).pdf》,GPIO#43 有GPIO_CTRL_1控制:
GPIO_CTRL_1的地址为10000604,使用如下配置:
reg w 604 800
3.写数据
经查阅《MT7628_ProgrammingGuide_20140428(E2).pdf》,GPIO#43 有GPIO_DATA_1控制:
GPIO_DATA_1的地址为10000624,
写0
reg w 624 0
写1
reg w 624 FFFFFFFF
这是可以看到该管脚的电平发生变化了
注意:GPIO必须做上拉或者下拉
说明:本文的控制方法是忽略了对相关GPIO的影响,稍微改进就可以用到项目中
- MT7628/MT7688平台上如何配置任何一个管脚为GPIO模式,试用各种平台
- MT7628/MT7688平台上如何配置任何一个管脚为GPIO模式
- MT7628如何控制GPIO
- zynq gpio管脚配置
- mt7688/mt7628 spi通信
- MT7628/MT7688/MT7620模组
- STM32 GPIO管脚配置意思说明
- am5728通过DM框架配置GPIO管脚
- MT7628,MT7688,openwrt SD卡问题解决
- Openwrt:基于MT7628/MT7688的PWM驱动
- MTK平台GPIO模式
- STM32 GPIO管脚模式的设置及使用方法
- STM32 GPIO管脚工作模式和输出速度总结笔记
- freescale飞思卡尔Imux6 GPIO管脚配置思路
- 嵌入式openwrt平台(mt7688)上使用讯飞语音服务
- 基于mt7628/mt7688的wifi自组网方案
- 基于MT7688/mt7628的wifi网络播放器
- mt7628 gpio模拟spi驱动si32171
- Unity_NGUI基础01_039
- SpringMVC Helloworld注解和404问题
- 5分钟让你明白“软链接”和“硬链接”的区别
- 查询当前活动进程的sql
- 丢掉职场中的四个幻想
- MT7628/MT7688平台上如何配置任何一个管脚为GPIO模式
- Nandflash 中的 ECC 原理及实现
- java核心技术笔记_Core_Java
- UVa 122 Trees on the level , Duke 1993
- JSONObject和JSONArray区别及基本用法
- 《大话数据结构》学习笔记(二)
- 学习笔记一:Spring Boot快速入门
- 数据库组函数
- 快速集成MyBeatis框架