RTL8720 PA0 配置为输入上拉 电平只有800mv

代码如下:
#define GPIO_KEY PA_0

gpio_init(&gpio_key, GPIO_KEY);
gpio_dir(&gpio_key, PIN_INPUT);
gpio_mode(&gpio_key, PullUp);

并且我在初始化之前,已经调用了
sys_jtag_off();

这个IO被用作按键,外部没有上拉电阻,过微动开关直接接地

Hi,
麻烦说明一下是RTL8720D 还是RTL8720C?

HI,
是RTL8720C,我忘了说明,PA0作为输出是可以输出高电平的

你使用的是Ameba Z2的EVB還是module/IC?
SDK的版本是哪個呢?
另外測input電壓是用什麽工具呢?

使用的是module/IC
SDK版本是v7.1a_rc4 (我得到的SDK是有人在你们的SDK上做了2次开发,所以在我这本质上是三次开发了)
测量input使用的工具是示波器
另外我用了一个外接10K的上拉电阻,当程序中将端口设置为输入上拉模式,测定端口电压为2V左右;配置为浮空输入,端口电压为3.12V,到达不了3.3V

所以是必須使用這個GPIO pin作爲input嗎? 別的pin有沒有試過?

不是必须,目前我使用另外一个端口进行跳线操作,不过这样就涉及硬件改板了

1 Like

請問你那邊使用SDK是從什麽渠道獲得的呢? module的哪一家出產的呢?

目前我們這邊沒有和你那邊 一樣的環境,沒有辦法幫你除錯

SDK是从小米那边获得的,使用小米的WIFI/BLE模组作为主控
另外我发现引脚配置为上拉都是有问题存在的
网址如下:小米IoT文档与资源中心
模组型号为:MHCWB4P-B

另外我发现,GPIO0 和 GPIO4 配置成上拉不起作用,我在初始化IO口前调用了sys_jtag_off();
我通过示波器看到上拉很少一段时间就被拉低了,我确定我程序其他位置并没有修改这个IO口
捕获

这个问题我解决了,是外部电路的原因,主要还是PA0这个问题

1 Like

所以是模塊上的外部電路導致的? 還是模塊外的外部電路?

GPIO4是外部电路原因,GPIO0我是用小米的开发板也存在这个问题,我猜测可能与模块的设计有关

1 Like