STM32F103的io口不能上拉输入,怎么回事?

碰到一个奇怪的问题,我用stm32的io口做按键输入,PB0和PB1设置为上拉输入,PA7是矩阵按键扫描的一个IO设置成下拉输入,io口初始化成功后发现PB0和PB1并不是3.3V,然后把PA7的io口初始化去掉以后,发现PB0和PB1就可以输出3.3V。好奇怪啊,我又换了其他的板子,发现都是这样的,有人知道是什么原因吗?

请先 登录 后评论

5 个回答

旧时光

最好贴程序;

请先 登录 后评论
m1463370

我也想知道BUG在哪里?这么多人都说BUG,难道ST不会知道么?到底有没有改呢?如果没有改肯定有他的道理呀。我HW,没配过IIC的程序。

请先 登录 后评论
哈里

我的系统里有几个芯片是IIC接口,刚开始用官方的库函数也花了挺长时间调试,好不容易调通了,可是待正式小批量使用时,出现了偶尔死机的情况,后来断点查看,是卡在了IIC处理上,具体在哪里也说不清楚。于是花了段时间,用模拟IIC接口方式,程序基本就稳定了。我的理解是这样的:1.硬件IIC的时序不能出差错,如果你在读写IIC时,此时若正好碰上两根线上有了干扰,时序就不对了,它等不到回信也就卡在了哪里;2.模拟IIC即使出了干扰,也只是此时读写出错,数据都不出来或写不进去,但程序还会继续运行,待下次轮到时再读写,最大的好处是不影响整个程序运行。3.至于运行时间,应该比硬件IIC要慢(慢多少我也没测过),但是慢这点时间,基本对程序没什么影响。

请先 登录 后评论
gyp0428
看了下程序没问题啊;
程序没问题;
那电路怎么连的呢?
截下图看看;

另外下次问问题,最好描述清楚;
图和程序最好贴出来,方便人回答;
请先 登录 后评论
装X-BOY
电路有问题
请先 登录 后评论
  • 5 关注
  • 0 收藏,1876 浏览
  • shasha莎 提出于 2018-01-17 18:29

热门话题更多