我要通过设置GPIOB.5(在战舰V3
开发板上连接到了LED的DS0)来产生高低电平从而触发一个从设备的外部中断。但是我在下面程序段中操作寄存器也无法使得PB.5变为高电平(因为LED一直亮,我认为这就表示PB.5的电平仍为低电平)
//PB5 通过此GPIO发送读取时间的信号给次
STM32
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5; //PB5
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; //复用推挽输出
GPIO_Init(GPIOB GPIO_InitStructure);//初始化GPIOB.5
GPIOB->BSRR=GPIO_Pin_5;
与此同时,我在UART1的中断服务函数中使用同样的操作寄存器的方法和库函数的方法,问题依旧。
//GPIO_ResetBits(GPIOBGPIO_Pin_5);
GPIOB->BRR=GPIO_Pin_5;
delay_ms(1000);
//GPIO_SetBits(GPIOBGPIO_Pin_5);
GPIOB->BSRR=GPIO_Pin_5;