今日用GPIO_WriteBit操作IO口时,发现不能一行操作多个不同的IO口
例如
GPIO_WriteBit(GPIOB|GPIOE,LED0|LED1,(BitAction)(0));
编译器提示invalid operands to binary expression(对二进制表达式的运算符和无效)

所以查找了下原因GPIO_WriteBit
GPIO_WriteBit
对单个IO口置0或1
例
GPIO_WriteBit(GPIOA,GPIO_Pin_8 , 0);
GPIO_SetBits
对多个IO口置0或1
例
GPIO_SetBits(GPIOD,GPIO_Pin_0 | GPIO_Pin_5 | GPIO_Pin_6);
区别
一个只能单个引脚操作
这篇博客介绍了在使用GPIO控制IO口时遇到的问题,即GPIO_WriteBit函数无法同时操作多个不同的IO口,而GPIO_SetBits可以。文中详细对比了这两个函数的区别,GPIO_WriteBit适用于单一IO口的置位或清零,而GPIO_SetBits则支持对多个IO口进行批量操作。通过示例代码,读者可以更好地理解它们的使用场景。
https://blog.csdn.net/linxi8693/article/details/86892450
3418

被折叠的 条评论
为什么被折叠?



