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. 根据参数的位分配判断能否按位与传参

相关推荐
别动我齐刘海4 小时前
C++ 工程化学习
java·linux·前端·c++·学习·机器学习·机器人
gjf05_057 小时前
人该怎样活着呢?版本75.8
学习
半杯咖啡半行码7 小时前
STM32之ARM通用汇编指令详解:从指令格式到寻址方式
汇编·arm开发·stm32
创界工坊工作室8 小时前
22-基于STM32的汽车防盗系统设计
stm32·单片机·嵌入式硬件·proteus
li星野8 小时前
【学习记录】PCB与PCBA核心知识全解析:从设计到制造的关键细节
学习·制造
卿卿的产品经理日记9 小时前
【AI产品经理实战】Day 35|从“沉迷工具“到回归 AI 底层:Skill 收官、系统复盘与下一个 13 天
人工智能·学习·产品经理
一条泥憨鱼9 小时前
【从0开始学习计算机网络】| ARP 协议:地址解析,ARP 欺骗,链路层寻址
网络·后端·学习·计算机网络
雨田言炎10 小时前
STM32之RCC系统时钟控制(芯片的心脏控制器)
stm32·单片机·嵌入式硬件
李永奉10 小时前
日常使用的锂电池上,新、旧锂电池的差异分析
单片机·嵌入式硬件·物联网·智能手机·电脑
HY小宝F10 小时前
树莓派智能摄像头系统 30 天重学计划之 Day 04 · HTTP / API:控制链入口 —— 学习总结
网络协议·学习·http