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

相关推荐
笨鸟先飞的橘猫7 分钟前
只会脚本语言的游戏后端自我提升之路——c++学习(开篇)
学习·游戏
qq_401700411 小时前
经典的电压基准源电路
单片机·嵌入式硬件
quanjui2 小时前
【医学尝试】基于Segment Anything Model的医学图像分割研究:眼底OCT与X线胸片微调实战
人工智能·笔记·学习
YUS云生2 小时前
大模型学习·第40天:LangChain框架入门——从RAG原理到模型调用的统一接口
学习·langchain
小黄蚁2 小时前
FreeRTOS学习笔记(十二)
笔记·学习
Nebula_g2 小时前
Java实现本地Socket通信(三)
java·开发语言·学习·socket·可视化
茯苓gao2 小时前
嵌入式开发笔记:电机参数辨识与自学习完全指南——从电气参数到机械特性的深度解析
笔记·嵌入式硬件·学习
西安景驰电子2 小时前
PCIe 授时卡原理及应用
运维·服务器·windows·单片机·嵌入式硬件·fpga开发
笨鸟先飞的橘猫3 小时前
游戏后端分布式学习——消息队列在游戏的用法
分布式·学习·游戏
优化Henry3 小时前
学习笔记之VoNR语音业务注册流程
网络·笔记·学习·5g·信息与通信