news 2026/6/9 11:54:01

标准库-1实现灯和蜂鸣器翻转

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
标准库-1实现灯和蜂鸣器翻转

目标

实现灯亮和蜂鸣器响

如何进行翻转?


三种控制 LED 写法(标准库)

  1. 翻转(推荐闪烁)GPIO_ToggleBits(GPIOB,GPIO_Pin_5);
  2. 点亮(低电平)GPIO_ResetBits(GPIOB,GPIO_Pin_5);
  3. 熄灭(高电平)GPIO_SetBits(GPIOB,GPIO_Pin_5);

F103单片机没有封装翻转函数,所以自己封装函数或使用寄存器操作

方法一寄存器操作

// 改成寄存器位翻转(^= 异或,一键翻转电平) #define LED0_Toggle do{GPIOB->ODR ^= GPIO_Pin_5;}while(0) #define LED1_Toggle do{GPIOE->ODR ^= GPIO_Pin_5;}while(0)

方法2使用函数

led.h

#define LED0_Toggle GPIO_ToggleBits(LED0_GPIO_PORT,LED0_GPIO_PIN) #define LED1_Toggle GPIO_ToggleBits(LED1_GPIO_PORT,LED1_GPIO_PIN) void led_init(void); void GPIO_ToggleBits(GPIO_TypeDef* GPIOx,uint16_t GPIO_Pin);

led.c

void GPIO_ToggleBits(GPIO_TypeDef* GPIOx,uint16_t GPIO_Pin) { //读取当前输出电平 if(GPIO_ReadOutputDataBit(GPIOx,GPIO_Pin)==Bit_SET) { GPIO_ResetBits(GPIOx,GPIO_Pin); } else { GPIO_SetBits(GPIOx,GPIO_Pin); } }

beep.c

beep.h

main.c


问题

问题1:void GPIO_ToggleBits(GPIO_TypeDef* GPIOx,uint16_t GPIO_Pin) led和beep都有这个函数冲突怎么解决

1.直接调用led.c中的函数

2.改名区分

3.加static(仅限本文件内部使用,不能跨文件调用)


版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/9 11:51:56

leetcode2161 根据给定数字划分数组

一、问题描述二、解题思路本题与荷兰国旗问题有一定的区别&#xff0c;如果用三指针来解决&#xff0c;相对顺序是有可能被打乱的&#xff0c;所以本题可以使用直白的三次遍历&#xff0c;即暴力&#xff0c;分别将<pivot的数&#xff0c;pivot的数&#xff0c;>pivot的数…

作者头像 李华
网站建设 2026/6/9 11:51:01

终极跨平台MSG邮件查看器:免费解决Outlook邮件兼容难题

终极跨平台MSG邮件查看器&#xff1a;免费解决Outlook邮件兼容难题 【免费下载链接】MsgViewer MsgViewer is email-viewer utility for .msg e-mail messages, implemented in pure Java. MsgViewer works on Windows/Linux/Mac Platforms. Also provides a java api to read …

作者头像 李华
网站建设 2026/6/9 11:50:52

为什么要开经营分析会?回归经营分析的4个本质

最近我观察到一个很隐蔽的现象&#xff1a;每个月开经营分析会前&#xff0c;业务部门总会私下找财务同事打听&#xff1a;“这次重点看哪些指标&#xff1f;”目的很直接&#xff1a;为了提前想好说辞和解释。你看&#xff0c;会还没开&#xff0c;目标已经偏了&#xff0c;经…

作者头像 李华
网站建设 2026/6/9 11:49:22

上传到服务器的问题

从你提供的日志来看&#xff0c;你的 NewBeeMall 项目已经启动成功了&#xff01;&#x1f389;以下是日志中几个关键信息的解读&#xff0c;以及你接下来需要做的操作&#xff1a;&#x1f4ca; 日志关键点解读启动成功标志&#xff1a;Started NewBeeMallApplication in 3.19…

作者头像 李华
网站建设 2026/6/9 11:47:59

2026年好用的图片去水印工具,图片去水印工具推荐实用教程

日常浏览、收集图片素材时&#xff0c;经常会遇到带有水印 logo 文字角标的情况&#xff0c;多余的水印会影响画面观感&#xff0c;也不利于我们整理个人收藏素材。结合 2026 年当下各类工具的使用体验&#xff0c;本篇整理了多款适配不同设备、不同使用场景的图片去水印工具&a…

作者头像 李华