21ic问答首页 - GPIOA->ODR ^= GPIO_Pin_8影响stm32其他引脚的状态吗
GPIOA->ODR ^= GPIO_Pin_8影响stm32其他引脚的状态吗
153730424352020-08-26
请教各位大神,我用的单片机是STM32。我想用GPIOA->ODR ^= GPIO_Pin_8反转LED的电平,但是GPIOA->PIN12好像也收到了影响。
因为,我用定时器模拟USART的115200波特率,更新中断周期是1S/115200,控制PIN12驱动一个模块。当我在主函数中加入GPIOA->ODR ^= GPIO_Pin_8后,模块驱动失败,取消后,模块就可以正常工作。
但是GPIOA->ODR ^= GPIO_Pin_8这行代码,应该不会影响到别的IO口吧。更换成下面的代码,也没有问题。
if((GPIOA->ODR&GPIO_Pin_8)==0)
GPIOA->BSRR = GPIO_Pin_8;
else
GPIOA->BRR = GPIO_Pin_8;
希望大神能帮我解答。谢谢
因为,我用定时器模拟USART的115200波特率,更新中断周期是1S/115200,控制PIN12驱动一个模块。当我在主函数中加入GPIOA->ODR ^= GPIO_Pin_8后,模块驱动失败,取消后,模块就可以正常工作。
但是GPIOA->ODR ^= GPIO_Pin_8这行代码,应该不会影响到别的IO口吧。更换成下面的代码,也没有问题。
if((GPIOA->ODR&GPIO_Pin_8)==0)
GPIOA->BSRR = GPIO_Pin_8;
else
GPIOA->BRR = GPIO_Pin_8;
希望大神能帮我解答。谢谢
您需要登录后才可以回复 登录 | 注册