在使用STM8S003時由於引腳不夠,於是將PB4和PB5作為普通IO口使用,結果無論程序如何調整,始終無法輸出高電平,在網上查了很多資料,實踐之后終於搞明白了問題所在。
首先PB4和PB5是可以作為I2C復用端口的,手冊上做了如下介紹:
可以發現PB4和PB5后面對於端口性質的定義為T,表示真開漏模式,內部既沒有P-Buffer,也沒有連接到VDD的保護二極管,也就是說在程序中無論怎么設置,PB4和PB5都只能是開漏模式,弄清楚這一點之后,如果需要將PB4和PB5作為普通IO口使用,建議加上拉電阻,這樣就可以正常輸出高低電平了。