0.3 学习Stm32经历过的磨难

文章目录

    • [用库函数传参 能否按位或](#用库函数传参 能否按位或)

用库函数传参 能否按位或

答案是看清况,而不是一股脑的写!(血泪的经验啊)

  • 可行的情况:
c 复制代码
//如gpio初始化结构体中的gpiopin参数
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1 | GPIO_Pin_2;
//或是exti初始化结构体中EXTI_Lines参数
EXTI_InitStructure.EXTI_Line = EXTI_Line0 | EXTI_Line1;


由上图可知:这些可以用"按位与"的方式传参的都是一个二进制位表示一个特定名称的

  • 不可行的情况
c 复制代码
这里按位与会 死的很惨 不要问我怎么知道的(真的崩溃)
	GPIO_EXTILineConfig(GPIO_PortSourceGPIOB, GPIO_PinSource0 | GPIO_PinSource1);

来一探究竟

复制代码
可见其中并不满足一个特定量占一位的原则,如GPIO_PinSource0与GPIO_PinSource1
0000 0000 如果与上  0000 0001 那么将得到0000 0001 
自然无法区分两个量

总结

在不知道能否按位与传参的时候要

  1. 右击参数类型查看definition
  2. 根据参数的位分配判断能否按位与传参

相关推荐
12.=0.4 小时前
【stm32_3】嵌入式软件系统架构
stm32·单片机·嵌入式硬件
盐焗西兰花4 小时前
鸿蒙学习实战之路-Share Kit系列(15/17)-手机与PC/2in1设备间分享
学习·智能手机·harmonyos
憧憬从前4 小时前
算法学习记录DAY1
c++·学习
bIo7lyA8v4 小时前
从零学习Kafka:集群架构和基本概念
学习·架构·kafka
会编程的小孩4 小时前
优先级与抢占实验
stm32·单片机
風清掦5 小时前
【江科大STM32学习笔记-10】I2C通信协议 - 10.1 软件I2C读写MPU6050
笔记·stm32·单片机·嵌入式硬件·物联网·学习
Devlive 开源社区5 小时前
DockMaster Pro v1.0.0 正式发布
学习
阿荻在肝了5 小时前
Agent学习三:构建第一个 Agent(详细完整版)
学习
盐焗西兰花6 小时前
鸿蒙学习实战之路-Share Kit系列(16/17)-隔空传送与可信任设备
学习·华为·harmonyos
无垠的广袤6 小时前
【Titan RA8P1 Board】PyOCD 调试
单片机·嵌入式硬件·调试器