完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
[tr]STM32W108,怎么去读GPIO_PXIN返回引脚的输入值 button3state=1; if(button3state!=((GPIO_PCIN&C0_MASK)>>C1_BIT))//PC1l连接一按键 { beepload(); button3state=((GPIO_PCIN&C0_MASK)>>C1_BIT); } 此程序貌似是直接读取按键的PCIN的输入值,而不用中断 实验现象应该是按键按下,蜂鸣器响 释放按键,蜂鸣器不响 但是实际却并未成功,就是不明白如何去读取GPIO_PCIN的返回引脚输入值 求大神赐教!!!!!!!!!!!!!!!!!!!!!!!!!! [/tr] |
|
相关推荐
9个回答
|
|
寄存器没有相关的寄存器说明,可能是程序中自己定义的GPIO端口,这个还是要上下一同看的。
|
|
|
|
|
|
|
|
调用固件库里的函数啊
|
|
|
|
用库函数调用简单,不容易出错
|
|
|
|
你的beepload();直接用,蜂鸣器响么/?
|
|
|
|
首先:不用中断是因为:采用不停的扫描输入脚的方式(就是循环一次,就读一次输入脚的值.因为循环时间短,所以你感觉不到延时.另外有有防抖的好处(实际你还是要加的)
所以你可以仿真时在if里加中断点,再按输入键,就可以确认是否检测到输入. 如果没有,你要检查下配置,以及电路. 有果有,那看看是不是蜂鸣部分没弄好. 扫描输入脚值的方法是: ((端口号->IDR) & 脚代码); 端口号如:GPIOA等,IDR是GPIO的输入寄存器,脚代码如(uint16_t)0x0001) 如果值为0,输入低,值非0,输入1. |
|
|
|
|
|
|
|
stm32W108使用还是要看看手册或使用说明的,你说的失败是什么意思?是进不了if语句中还是听不到蜂鸣器响?设个断点看看
|
|
|
|
问题已解决~~谢谢各位好心人
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
2201 浏览 1 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
2027 浏览 3 评论
4633 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
2171 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
2705 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-25 16:37 , Processed in 0.876715 second(s), Total 90, Slave 73 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号