展讯8910DM平台GPIO的使用注意事项:
- 不能更改:
GPIO16可以拉高低,只是无中断,也不能做输入,寄存器对应位始终为高;
GPIO6中断系统占用。 - 可以更改:
GPIO7休眠唤醒占用;
GPIO4有的做SIM卡检测;
GPIO13校准触发。
所以,OpenCPU时需要在清楚以上情况的条件下配置GPIO。
展讯公版代码中提供了读GPIO(drvGpioRead)和写GPIO(drvGpioWrite)这两个API,但是很多GPIO在调用这两个接口进行写操作和读操作后,该GPIO在gpio1寄存器的相应位会在读操作完成的瞬间被清零,导致读操作结束后对应GPIO pin脚的电压为零。
基于这种原因,我们可以不调用展讯提供的接口,直接读写寄存器即可,示例如下:
/**
* @brief Write value for GPIO and then read register to check GPIO voltage is