STM8库文件判断指定IO输入引脚电平GPIO_ReadInputPin有问题
来源:互联网 发布:淘宝供销平台首页 编辑:程序博客网 时间:2024/04/27 18:09
声明:本文转载自http://blog.csdn.net/lan120576664/article/details/24203639
/** * @brief Reads the specified GPIO input data pin. * @param GPIOx : Select the GPIO peripheral number (x = A to I). * @param GPIO_Pin : Specifies the pin number. * @retval BitStatus : GPIO input pin status. */ BitStatus GPIO_ReadInputPin(GPIO_TypeDef* GPIOx, GPIO_Pin_TypeDef GPIO_Pin) { return ((BitStatus)(GPIOx->IDR & (uint8_t)GPIO_Pin)); }
以上是ST文件读取指定IO口电平原型。
如果你使用类似
if(GPIO_ReadInputPin(GPIO_ReadInputPin(GPIOC,GPIO_PIN_7) == SET)
{
.....
}
这样的判断代码,你会发现永远的不到你想要的。
原因是BitStatus是个enum类型,其实而enum从某个层面上说它是与int类型相似。
所以你用
BitStatus test = GPIO_ReadInputPin(GPIO_ReadInputPin(GPIOC,GPIO_PIN_7) ;
你会发现,test值是个8位的数,而非类似BOOL的0或1.
所以你可以考虑将代码修改为
BitStatus GPIO_ReadInputPin(GPIO_TypeDef* GPIOx, GPIO_Pin_TypeDef GPIO_Pin) { return ((GPIOx->IDR & (uint8_t)GPIO_Pin) ? SET : RESET); }
阅读全文
1 0
- STM8库文件判断指定IO输入引脚电平GPIO_ReadInputPin有问题
- STM8S库文件判断指定IO输入引脚电平GPIO_ReadInputPin有问题
- stm8 中i2c(iic)引脚的输出电平问题
- STM8L15x系列单片机判断指定I/O引脚电平
- IO流_判断文件中是否有指定的键如果有就修改值的案例
- 判断指定目录是否有文件
- 判断STM32 GPIO输入口的输入状态(高电平或低电平)
- STM8外部引脚中断EXTI配置后,系统不断进入中断的问题
- 关于ARM中判断某个引脚是输出还是输入
- [原创]MSP430FR4133练习(一):GPIO输入电平状态判断
- 判断Java文件输入流FileInputStream中是否有内容
- STM8输入捕获
- stm8 GPIO按键输入
- 问题标签用户 java io File not found 找不到系统指定的文件,工程目录下有此文件源码如下
- IO电平标准
- java.IO搜索指定文件
- ULN2803输入电平
- EQEP输入引脚
- 重构-充值和充值记录
- 单工通信、半双工通信和双工通信
- Java 中BufferedReader & InputStreamReader 用法
- Ext分区文件恢复工具extundelete
- makefile
- STM8库文件判断指定IO输入引脚电平GPIO_ReadInputPin有问题
- 函数模版之重载
- plc可控编程入门
- 微信小程序架构分析 (下)
- 错误:支持“EFDbContext”上下文的模型已在数据库创建后发生更改。请考虑使用 Code First 迁移更新数据库(http://go.microsoft.com/fwlink/?LinkId
- IntelliJ Idea 2017 免费激活方法
- eclipse启动优化,终于不那么卡了! 网上找了好多都是myEclipse的优化的,跟eclipse有点区别,找了很多方法还是不能让这个eclipse(Version: Kepler Release
- 解决子级用css float浮动 而父级div没高度不能自适应高度
- Jackson 动态过滤属性