我想在stm32f407上写入自己的i2c库。如何定义输入和输出支路

时间:2019-09-30 09:23:52

标签: i2c stm32f4discovery

我想在stm32f407上写入自己的i2c库。我必须在相同的引脚(腿)上同时使用输入和输出。示例SDA:PD15,SCL:PD14。 PD15和pd14均为输入和输出。如何在stm32f407中定义此输入,输出

1 个答案:

答案 0 :(得分:0)

我假设您是指软件I 2 C驱动程序,一次切换一位(位敲打),因为片上I 2 C控制器不能使用PD14PD15

GPIOD->MODER中使用通用输出模式,在GPIOD->OTYPER中使用输出open-drain

GPIOD->MODER = (GPIOD->MODER & ~(GPIO_MODER_MODER14 | GPIO_MODER_MODER15)) | GPIO_MODER_MODER14_0 | GPIO_MODER_MODER15_0;
GPIOD->OTYPER |= GPIO_OTYPER_OT_14 | GPIO_OTYPER_OT_15;