其实,本人用STM32也有一段时间了,可是有些问题的话总是过一段时间就会给忘记了,所以我用这个帖子来记录我碰到的问题.......
1.管脚的复用
GPIO_PinRemapConfig(GPIO_Remap_SWJ_NoJTRST, ENABLE);//PB4默认是JTRST功能,只要我们把它的默认时钟关闭了,这么这个管脚就会使用它的复用功能,在这里它的复用功能是普通的GPIO,然后我们对它进行配置就好了。
2.开漏输出
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_OD;
输出端相当于三极管的集电极. 要得到高电平状态需要上拉电阻才行. 适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内).
模拟I2C使用开漏输出_OUT_OD,接上拉电阻,能够正确输出0和1;读值时先GPIO_SetBits(GPIOB, GPIO_Pin_0);拉高,然后可以读IO的值;使用GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_0);
3.ADC模块,通道和对应管脚的选择