STM8函数GPIO_ReadInputPin(GPIOA, GPIO_PIN_0)的问题

2019-04-21 23:31

STM8函数GPIO_ReadInputPin(GPIOA, GPIO_PIN_0)的问题,在使用时,会出现这样的问题: 如果定义 uchar i=0; i=GPIO_ReadInputPin(GPIOA, GPIO_PIN_0);在该位为低电平时,会得到 0 ,而在为高电平时,会收到0和1以外的数据。 解析如下:

GPIO_ReadInputPin(GPIOA, GPIO_PIN_0)的原型是

BitStatus GPIO_ReadInputPin(GPIO_TypeDef* GPIOx, GPIO_Pin_TypeDef GPIO_Pin) {

return ((BitStatus)(GPIOx->IDR & (vu8)GPIO_Pin)); }

而BitStatus的原型是: typedef enum { RESET = 0, SET = !RESET }

在使用时尽量不如下使用:

if(GPIO_ReadInputPin(GPIOA, GPIO_PIN_0)==1) 尽量这样使用:

if(GPIO_ReadInputPin(GPIOA, GPIO_PIN_0) !=RESET) 这样,能防止读到0和1以外的值


STM8函数GPIO_ReadInputPin(GPIOA, GPIO_PIN_0)的问题.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:SA8000(社会责任)管理系统程序文件

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: