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

相关推荐
Zw-awa1 小时前
反馈:让系统知道自己做得对不对
stm32
海绵宝宝转agent1 小时前
learn-claude-code第1-5章开源学习笔记分享
人工智能·笔记·python·学习
每天都要写算法(努力版)2 小时前
【行业前沿报告】DAgger:让智能体在自己走到的状态上学习
人工智能·学习·机器学习
女神下凡4 小时前
芯参谋(38):NAND_MCP_电路设计指南
arm开发·单片机·嵌入式硬件·设计规范
嵌入式学习菌4 小时前
FreeRTOS 中断管理实战:BASEPRI 寄存器实验
单片机·嵌入式硬件
sunshine22 girl5 小时前
Java学习六 Java常见API-2--String-3-字符串的截取替换和其他方法
java·开发语言·学习
sunshine22 girl6 小时前
Java学习六 Java常见API-1-Radom随机数
java·开发语言·学习
Answer1st7 小时前
【嵌入式学习】嵌入式原理知识-DMA(九)
学习
传奇开心果编程7 小时前
【ArkUI进阶练中学】第11课:安全与合规进阶
学习·ui·华为·harmonyos
UrSpecial7 小时前
GPIO 是什么?
单片机·嵌入式硬件