初级会员

- 积分
- 72
- 金钱
- 72
- 注册时间
- 2016-4-2
- 在线时间
- 17 小时
|
1金钱
本帖最后由 happydog 于 2016-7-16 09:52 编辑
硬件:STM32F10X
PB10一直处于高电平
程序去读取PB10的电压,一直等到PB10变为低电压为止。
程序1:
[mw_shl_code=applescript,true]u8 wrt;
wrt = PBin(10);
while(wrt!=0);[/mw_shl_code]
程序2:
[mw_shl_code=applescript,true]
while( PBin(10)!=0);[/mw_shl_code]
结果:程序1可以进入while死循环,程序2不会进入死循环
为什么?
PB10的配置:
[mw_shl_code=applescript,true]GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD;
GPIO_Init(GPIOB, &GPIO_InitStructure);
GPIO_ResetBits(GPIOB,GPIO_Pin_10);[/mw_shl_code]
|
最佳答案
查看完整内容[请看2#楼]
额,最简单的C语言问题!第一个肯定进去while(1)死循环,第一个你只是在判断wrt,并不是判断的PB10的引脚电平!
|