中级会员
 
- 积分
- 348
- 金钱
- 348
- 注册时间
- 2014-10-9
- 在线时间
- 46 小时
|
5金钱
如题,高电平是3.9-4.0V,输入使用浮空,上拉,下拉都不行。
思路是,我使用了一枚或芯片,将所有外部的开关量或起来,输出作为STM32的外部中断,这部分没问题。外部的开关量有高电平了就会触发中断。
但是进入中断以后,我扫面所有的管脚,结果却全为低,而此时用电压表测,实际为高。用jtag单步调试的时候,只能跳到else那里(橙色标出来了)。
uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
{
uint8_t bitstatus = 0x00;
/* Check the parameters */
assert_param(IS_GPIO_ALL_PERIPH(GPIOx));
assert_param(IS_GET_GPIO_PIN(GPIO_Pin));
if ((GPIOx->IDR & GPIO_Pin) != (uint32_t)Bit_RESET)
{
bitstatus = (uint8_t)Bit_SET;
}
else
{
bitstatus = (uint8_t)Bit_RESET;
}
return bitstatus;
}
另外附上工程文件
希望大神帮一下忙 |
|