![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
stm32
文章平均质量分 81
jmlinux
擅长单片机、STM32、Linux ARM、项目管理。
高级项目工程师,有项目管理双证书:PMP(项目管理专业人员资格认证),软考高级证书。
展开
-
定时器处理按键抖动
2.按键按下,延时10ms,再判断是否有中断,直到没中断。总结,这段代码的主要用途是在特定的GPIO引脚(是GPIO_PIN_14,按需更改引脚)发生外部中断时,启动一个10单位时间的定时器。计数法则是在检测到按键状态变化后,连续检测一定次数,如果状态没有发生变化,则确认为有效状态。按键抖动会导致单片机在处理按键信号时出现误判,即一次按键操作可能被错误地识别为多次操作,从而导致误处理。在闭合和断开时,由于触点的弹性作用,会产生一系列的抖动现象。变量的值,表示按键事件被记录,经试验,能满足按键防抖处理要求。原创 2024-08-18 16:10:56 · 415 阅读 · 0 评论 -
超简单4行代码-STM32F103的HAL实现有源蜂鸣器报警
在嵌入式项目开发中,使用蜂鸣器作为简单的报警或提示装置非常常见。根据不同的应用场景,我们可能会选择有源蜂鸣器或无源蜂鸣器。本文将重点介绍如何通过STM32F103系列单片机,利用HAL库,仅通过4行代码实现对有源蜂鸣器的控制,实现基本的报警功能。原创 2024-08-14 22:55:03 · 453 阅读 · 0 评论 -
STM32单片机C语言:继电器控制220v灯泡亮灭
本文旨在详细阐述如何利用STM32单片机结合继电器模块,实现对220V灯泡亮灭的远程控制。我们将深入探讨继电器的工作原理,构建相应的硬件电路,并提供具体的程序实现步骤,在智能家居与自动化控制领域的应用的比较多。原创 2024-07-27 16:13:41 · 337 阅读 · 0 评论 -
STM32开发方式的演变与未来展望
2014年,ST公司推出了HAL(硬件抽象层)驱动库和MCU图形化配置软件STM32CubeMX,为开发者提供了更加高级、通用的接口。2017年以来,随着STM32CubeMX和STM32CubeIDE的推广和普及,HAL开发方式逐渐成为STM32开发的主流。标准库通过封装底层硬件操作的函数,为开发者提供了更加简洁、易用的接口,降低了开发难度,提高了开发效率。同时,保持开放的心态和学习的热情,不断探索和尝试新的开发方式和思路,以应对不断变化的技术环境。随着技术的不断进步,辅助编写代码的工具也越来越多样化。原创 2024-06-28 23:55:51 · 453 阅读 · 0 评论 -
常见的Wi-Fi蓝牙模组
在嵌入式领域,常见的Wi-Fi蓝牙模组确实包括多个知名品牌这些Wi-Fi蓝牙模组都提供了丰富的接口和功能,支持多种通信协议和标准,使得开发者能够更方便地构建各种嵌入式应用。在选择模组时,需要根据具体的应用需求、成本预算、性能要求等因素进行综合考虑。而在选择开发方式时,需要根据具体的应用场景和需求来权衡利弊。如果项目需要快速实现设备接入物联网或云平台,且对性能要求不高,那么AT指令开发是一个很好的选择。而如果项目需要实现更复杂的控制算法、更高效的通信协议以及更精细的硬件管理,那么进行二次开发是更好的选择。原创 2024-06-21 23:36:07 · 700 阅读 · 0 评论 -
串口屏介绍
串口屏(Serial LCD/Serial TFT Display)是一种集成了串行通讯功能的显示屏,广泛应用于各种嵌入式系统、工业控制、人机界面(HMI)等领域。该显示屏通过串口(如UART、RS232、RS485等)与主控器件(如单片机、PLC、嵌入式处理器等)进行通讯,简化了图形显示和触控控制的设计。原创 2024-06-14 22:17:18 · 764 阅读 · 0 评论 -
STM32F103单片机C语言模块化编程实战:按键控制LED灯并串口打印详解与示例
虽然这里演示的是STM32F103,但是STM32F407还是STM32H系列等,但是可直接将LED、按键、串口文件复制使用,仅供需改头文件的引脚,这里是用STM32F407实现的介绍(http://t.csdnimg.cn/CWVUM)。之前介绍了很多关于点灯的方法,比如轮询、定时器中断、PWM、按键点灯等方式,这些文章使用的编程方法都不是模块化的编写方式,往往会导致代码可读性差、重用性差、扩展性差以及测试和维护困难等问题。为了避免这些问题,我们实际工作中通常会采用模块化的编写方法。原创 2024-04-24 20:40:12 · 1541 阅读 · 2 评论 -
STM32单片机C语言模块化编程实战:按键控制LED灯并串口打印详解与示例
模块化的编写方式对之前的代码封装了一层,提供了与LED、按键、串口硬件交互的接口,使得软件开发者可以在不直接操作硬件的情况下控制LED灯、按键、串口,可以直接用到STM32F103、STM32H系列等中,如果引脚不一样,只需修改引脚即可。通过上面的代码,希望你更多的采用模块化的编写方式,确保代码结构清晰、功能明确,提高可读性和可维护性,降低功能耦合,增强重用和扩展性,也促进并行开发(比如A员工做LED灯、B员工做按键、C员工做串口),提升效率,便于项目管理和维护。原创 2024-04-23 21:57:55 · 1402 阅读 · 0 评论 -
STM32单片机C语言模块化编程实战:按键控制LED灯详解与示例
之前介绍了很多关于点灯的方法,比如轮询、定时器中断、PWM、按键点灯等方式,这些文章使用的编程方法都不是模块化分层的编写方式,往往会导致代码可读性差、重用性差、扩展性差以及测试和维护困难等问题。为了避免这些问题,我们实际工作中通常会采用模块化分层的编写方法,这样可以确保代码结构清晰、功能明确,提高代码的可读性和可维护性,同时降低功能之间的耦合度,增强代码的重用性(无论是STM32F103还是STM32F407或是STM32H系列等,直接将文件复制使用)和扩展性。模块化分层的编写方式还有助于实现代码的并行原创 2024-04-22 21:55:35 · 1964 阅读 · 1 评论 -
利用STM32 HAL库实现USART串口通信,并通过printf重定向输出“Hello World“
上一篇使用STM32F407的HAL库只需1行代码实现USART1串口打印“Hello World!”,而平时都是用printf打印的,现在每次都要调用HAL_UART_Transmit()函数,比较麻烦,怎么解决呢?采用fputc调用HAL_UART_Transmit实现printf重定向的,它有三个好处。对HAL_UART_Transmit实现printf重定向可以带来代码效率和可读性的提升、调试过程的简化以及灵活性和扩展性的增强等好处。原创 2024-04-22 07:34:16 · 2280 阅读 · 1 评论 -
STM32单片机C语言模块化编程实战:LED控制详解与示例
之前介绍了很多关于点灯的方法,比如轮询、定时器中断、PWM等方式,这些都不是采用模块化分层的编写方式,往往会导致代码可读性差、重用性差、扩展性差以及测试和维护困难等问题。为了避免这些问题,我们实际工作中通常会采用模块化分层的编写方法,这样可以确保代码结构清晰、功能明确,提高代码的可读性和可维护性,同时降低功能之间的耦合度,增强代码的重用性(无论是STM32F103还是STM32F407或是STM32H系列等,直接将文件复制使用)和扩展性。模块化分层的编写方式还有助于实现代码的并行开发,提高开发效率,使得原创 2024-04-21 21:53:20 · 1826 阅读 · 4 评论 -
STM32 HAL库只需1行代码实现USART串口打印Hello World
使用STM32F407的HAL库只需1行代码实现USART1串口打印“Hello World!”,下面我将详细解释STM32CubeMX配置步骤和程序,打印“Hello World!”。一旦程序烧录完成并运行,串口助手一直在打印“Hello World!”。如果一切正常,恭喜你,你现在已经会“Hello World!”了!原创 2024-04-21 13:45:52 · 646 阅读 · 0 评论 -
一分钟成为点灯大师(超简单5行代码-STM32F407的HAL实现按键轮询点亮LED灯)
使用STM32F407的HAL库实现按键轮询读取按键值,点亮PF9的LED的STM32CubeMX配置步骤和程序,通常需要遵循一系列步骤。下面我将详细解释这些步骤,帮助你一分钟内成为“点灯大师”。虽然轮询的方式容易理解和编写,但是存在CPU占用率高和实时性较差的问题。一旦程序烧录完成并运行,你应该能看到按下按键LED点亮,再按一下按键LED熄灭。如果一切正常,恭喜你,你现在已经是一个“点灯大师”了! 另外一篇文章是通过按键中断的方式来,完美地解决这两个问题。原创 2024-04-21 08:21:07 · 1272 阅读 · 0 评论 -
一分钟成为点灯大师(超简单1行代码-STM32F407的HAL实现按键中断方式点亮LED灯)
使用STM32F407的HAL库实现按键中断方式读取按键值,点亮和熄灭PF9的LED灯的STM32CubeMX配置步骤和程序,通常需要遵循一系列步骤。下面我将详细解释这些步骤,帮助你一分钟内成为“点灯大师”。中断方式解决了按键轮询的方式CPU占用率高和实时性较差的问题,能实时响应,节省CPU资源,方便也扩展。原创 2024-04-20 21:57:19 · 1584 阅读 · 0 评论 -
一分钟成为点灯大师(超简单24行代码-STM32F407的HAL库PWM实现LED渐变闪烁)
使用STM32F407的HAL库定时器14的PWM实现PF9的LED渐变闪烁的STM32CubeMX配置步骤和程序,通常需要遵循一系列步骤。下面我将详细解释这些步骤,帮助你一分钟内成为“点灯大师”。原创 2024-04-20 16:24:49 · 1029 阅读 · 0 评论 -
一分钟成为点灯大师(超简单0行代码-STM32F407的HAL库点亮LED)
使用STM32F407的HAL库,不用额外添加一行代码,让LED保持常亮步骤和程序,通常需要遵循一系列步骤。下面我将详细解释这些步骤,帮助你一分钟内成为“点灯大师”。注意事项1.确保你的开发环境和工具链已经正确安装和配置。2.在STM32CubeMX中配置GPIO时,注意选择正确的引脚和模式。3.在编写代码时,确保使用正确的GPIO端口和引脚宏定义。4.LED没有按预期点亮,检查代码、连接和电源是否正确。原创 2024-04-19 10:47:37 · 455 阅读 · 0 评论 -
一分钟成为点灯大师(超简单8行代码-STM32F407的HAL库定时器方式实现LED每隔1秒闪烁)
一分钟成为点灯大师-STM32F407的HAL库定时器方式实现LED每隔1秒闪烁,使用STM32F407的HAL库定时器6实现LED每隔1秒闪烁的步骤和程序,通常需要遵循一系列步骤。下面我将详细解释这些步骤,帮助你一分钟内成为“点灯大师”。1.确保你的开发环境和工具链已经正确安装和配置。2.在STM32CubeMX中配置GPIO时,注意选择正确的引脚和模式。2.在STM32CubeMX中配置定时器时,注意选择正确地勾选和要使能中断、。3.在编写代码时,确保使用正确的GPIO端口和引脚宏定义。原创 2024-04-19 10:37:37 · 1228 阅读 · 1 评论 -
一分钟成为点灯大师(超简单4行代码-STM32F407的HAL库轮询方式实现LED每隔1秒闪烁)
一分钟成为点灯大师-STM32F407中点亮一个LED灯,HAL库轮询方式实现LED每隔1秒闪烁,要使用STM32微控制器点亮LED灯并实现闪烁效果,通常需要遵循一系列步骤。下面我将详细解释这些步骤,帮助你一分钟内成为“点灯大师”。确保你的开发环境和工具链已经正确安装和配置。在STM32CubeMX中配置GPIO时,注意选择正确的引脚和模式。在编写代码时,确保使用正确的GPIO端口和引脚宏定义。如果LED没有按预期闪烁,检查代码、连接和电源是否正确原创 2024-04-16 21:34:47 · 1228 阅读 · 0 评论 -
STM32常见调试工具介绍
STM32的常见调试工具主要包括ST-LINK、USB转TTL、USB转485以及USB转CAN。这些工具在嵌入式系统开发、调试以及通信中发挥着重要的作用。它们提供了不同的功能,以满足各种开发需求。选择哪种工具取决于具体的应用场景、开发者的需求以及预算等因素。原创 2024-04-14 17:12:09 · 1090 阅读 · 0 评论 -
STM32 Hal库FreeRtos查看所有任务的内存栈信息使用情况剩余空间 仅需一个函数搞定 超简单
STM32F103 基于Hal库跑FreeRtos,查看所有任务的栈的信息,包括任务名,任务状态,任务优先级,空闲栈,任务号。只需要使用一个函数vTaskList :获得任务的统计信息,形式为可读的字符串。备注运行环境单片机:STM32F103c8tx keil版本:5.32 STM32CubeMX版本:6.8.2原创 2024-01-21 17:41:31 · 1410 阅读 · 0 评论