本人參考《CH32V103應(yīng)用教程——I2C-軟件模擬I2C讀寫EEPROM》 (原網(wǎng)址:21ic電子技術(shù)開(kāi)發(fā)論壇? https://bbs.21ic.com/icview-3060796-1-1.html)一文,通過(guò)修改,成功驅(qū)動(dòng)了TM1637四位數(shù)碼管,但在設(shè)置IO口時(shí),IO口模式均設(shè)置為GPIO_Mode_Out_PP (推挽輸出模式),如果按原文設(shè)置的開(kāi)漏輸出模式則無(wú)法點(diǎn)亮數(shù)碼管(https://bbs.21ic.com/icview-3301228-1-1.html),這也許是TM1637的DIO和CLK引腳沒(méi)有上拉電阻吧?
而在讀取DIO(原文是SDA)引腳,原代碼為:
uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
{
uint8_t bitstatus = 0x00;
if ((GPIOx->INDR & GPIO_Pin) != (uint32_t)Bit_RESET)
{
bitstatus = (uint8_t)Bit_SET;
}
else
{
bitstatus = (uint8_t)Bit_RESET;
}
return bitstatus;
}
這讀取的過(guò)程貌似不用先設(shè)置引腳為輸入模式后再讀取的。
請(qǐng)問(wèn),如果該引腳設(shè)置為推挽輸出模式,而外設(shè)拉低了這個(gè)引腳(甚至短路到GND端),這會(huì)不會(huì)損壞芯片IO口?