如题,STM32同一个端口的不同引脚配置成不同的输出模式,比如:端口A的1脚输出配置成频率2M 推挽输出、2脚输出配置设置成频率10M 开漏输出。
GPIO_InitTypeDef GPIO_INIT_GPIOA; //端口参数配置
GPIO_INIT_GPIOA.GPIO_Pin = GPIO_Pin_1;
GPIO_INIT_GPIOA.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_INIT_GPIOA.GPIO_Speed = GPIO_Speed_2MHz;
GPIO_INIT_GPIOA.GPIO_Pin = GPIO_Pin_2;
GPIO_INIT_GPIOA.GPIO_Mode = GPIO_Mode_Out_OD;
GPIO_INIT_GPIOA.GPIO_Speed = GPIO_Speed_10MHz;
GPIO_Init(GPIOA,&GPIO_INIT_GPIOA);//端口配置初始化
像我这种写法的话,是不是1脚的输出配置被2脚的输出配置覆盖掉了??
如果分开写,如下:
GPIO_InitTypeDef GPIO_INIT_GPIOA1; //端口1参数配置
GPIO_INIT_GPIOA1.GPIO_Pin = GPIO_Pin_1;
GPIO_INIT_GPIOA1.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_INIT_GPIOA1.GPIO_Speed = GPIO_Speed_2MHz;
GPIO_Init(GPIOA,&GPIO_INIT_GPIOA1);//端口1脚配置初始化
GPIO_InitTypeDef GPIO_INIT_GPIOA2; //端口2参数配置
GPIO_INIT_GPIOA2.GPIO_Pin = GPIO_Pin_2;
GPIO_INIT_GPIOA2.GPIO_Mode = GPIO_Mode_Out_OD;
GPIO_INIT_GPIOA2.GPIO_Speed = GPIO_Speed_10MHz;
GPIO_Init(GPIOA,&GPIO_INIT_GPIOA2);//端口2脚配置初始化
换成这样的写法,是不是1脚的输出配置还是要被2脚的输出配置覆盖掉? |