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

相关推荐
行业探路者2 小时前
提升旅游行程管理效率的二维码文件生成方案
大数据·人工智能·学习·二维码·产品介绍
别了,李亚普诺夫2 小时前
ADC-学习笔记
笔记·stm32·学习
刘孬孬沉迷学习3 小时前
NR 下行CSI报告学习
学习·5g·信息与通信
好奇龙猫3 小时前
【人工智能学习-AI-MIT公开课11. 学习:识别树、无序】
人工智能·学习
玄同7653 小时前
我是如何学习编程的?——从 “扳手使用” 到编程学习:踩坑式实践的底层方法论
开发语言·人工智能·经验分享·笔记·python·学习·自然语言处理
Java后端的Ai之路3 小时前
【Python进阶学习】-NumPy详细介绍指南(附demo)
python·学习·numpy
Zeku3 小时前
20251231 - Linux 字符设备驱动开发笔记:分层设计
stm32·freertos·linux驱动开发·linux应用开发
北岛寒沫3 小时前
北京大学 国家发展研究院 经济学原理课程笔记(第十七课 微观经济学的现代理论)
经验分享·笔记·学习
网安INF3 小时前
2025年我的年度总结
学习·博客之星
laplace01233 小时前
Part 5|LangChain Agent 部署与上线流程(LangGraph 生态)
笔记·python·学习·语言模型·langchain