基于STM32CubeMX和HAL库学习嵌入式技术
文章平均质量分 83
一直在上的嵌入式 课程,只是在课堂上讲了,实验做了,从未留下记录,为了方便学生学习与查阅,决定在此开辟专栏,将课程相关内容汇集于此,也供需要的朋友学习与检阅。
本专栏主要讲解STM32的应用,内容基于STM32CubeMX和HAL库。
喜欢的请订阅专栏,文中的不妥之处请留言或私信。
笑春风oO
这个作者很懒,什么都没留下…
展开
-
基于STM32CubeMX创建FreeRTOS—以STM32F429为例
基于STM32CubeMX创建FreeRTOS—以STM32F429为例。创建了FreeRTOS双任务系统。原创 2024-01-21 21:58:23 · 2281 阅读 · 0 评论 -
JTAG/SWD接口定义
为方便查阅,将ST-LINK和ULINK的JTAG和SWD接口定义总结如下:Pin no.ST-LINK/V2 connector (CN3)ST-LINK/V2 functionTarget connection (JTAG)Target connection (SWD)1VAPPTarget VCCMCU VDD(1)MCU VDD(1)23TRSTJTAG TRSTJNTRSTGND(2)4GND(3)GND(3)GND(3)(4)GND(3)原创 2023-10-06 18:46:03 · 1685 阅读 · 0 评论 -
基础篇010.3 STM32驱动RC522 RFID模块之三:STM32软件模拟SPI驱动RC522
为增强程序可移植性,本文采用软件模拟方式驱动RC522。STM32驱动RC522 RFID模块之三:STM32软件模拟SPI驱动RC522。原创 2023-06-03 11:00:28 · 3801 阅读 · 0 评论 -
基础篇010.2 STM32驱动RC522 RFID模块之二:STM32硬件SPI驱动RC522
STM32驱动RC522 RFID模块之二:STM32硬件SPI驱动RC522。驱动程序设计时,必须的顺序是:寻卡--->防冲撞--->选卡--->开天线--->读/写卡。主函数的编写必须要按照这样的顺序,否者设备不会工作。本实验是由门禁项目修改而来,为方便分析RC522读取到的数据,利用串口通信助手来检查是否读取到正确的数据。原创 2023-05-28 16:27:46 · 11761 阅读 · 5 评论 -
基础篇010.1 STM32驱动RC522 RFID模块之一:基础知识
工作原理:读写器向 M1 卡发一组固定频率的电磁波,卡片内有一个 LC 串联谐振电路,其频率与读写器发射的频率相同,在电磁波的激励下, LC 谐振电路产生共振,从而使电容内有了电荷,在这个电容的另一端,接有一个单向导通的电子泵,将电容内的电荷送到另一个电容内储存,当所积累的电荷达到 2V 时,此电容可做为电源为其它电路提供工作电压,将卡内数据发射出去或接取读写器的数据。可读写,容量大,有加密功能,数据记录可靠,使用更方便,如一卡通系统,消费系统等,目前主要有PHILIPS的Mifare系列卡。原创 2023-05-25 22:40:46 · 8505 阅读 · 2 评论 -
基础篇007. 串行通信(二)--中断方式接收数据
目录1. 实验任务2. 硬件原理3. 利用STM32CubeMX创建MDK工程3.1 STM32CubeMX工程创建3.2 配置调试方式3.3 配置时钟电路3.4 配置GPIO3.5 配置串口参数3.6 配置时钟3.7 项目配置4. 串行通信实验4.1 UART串口printf,scanf函数串口重定向4.2 开启中断4.3 中断回调函数4.4 main()函数修改5.调试与验证6.总结利用STM32CubeMX,创建MDK工程,使用中断方式,实现串口接收数据,然后在转发到串口。本实验是串行通信的第二部分,原创 2023-05-16 23:18:38 · 4031 阅读 · 0 评论 -
基础篇007. 串行通信(一)--阻塞方式发送接收
在学习C语言时我们经常使用C语言标准函数库输入输出函数,比如printf、scanf、getchar等。为让开发板也支持这些函数需要把USART发送和接收函数添加到这些函数的内部函数内。在C语言HAL库中,fputc函数是printf函数内部的一个函数,功能是将字符ch写入到文件指针f所指向文件的当前写指针位置。fgetc函数与fputc函数非常相似,实现字符读取功能。在使用scanf函数时需要注意字符输入格式。文中引入可使用#if …… #elif …… #endif方式调试代码。原创 2023-05-14 22:52:25 · 2717 阅读 · 0 评论 -
【已解决】Keil5点击Debug Setting软件崩溃解决方法
Nucleo板自带的ST-Link,在MDK中点击Debug\Setting 软件闪退,采用删除与工程文件同名的.UVOPTX,问题依旧,应该是买到盗版的硬件了,采用旧版ST-Link固件,就没问题了。在安装目录下(如D:\Keil_v5\ARM\STLink)用旧版的 STLinkUSBDriver.dll 替换现有的 STLinkUSBDriver.dll,问题解决。链接:https://pan.baidu.com/s/1HRq_OLnJDAdaDbJmCC9Rvg?原创 2023-04-27 11:32:09 · 2577 阅读 · 3 评论 -
基础篇003. 【STM32F446,NUCLEO-F446RE板】使用STM32CubeMX创建MDK工程,实现流水灯
STM32 Nucleo-64板为用户提供了一种可负担的灵活方法,通过选择STM32微控制器提供的各种性能和功耗特性组合来尝试新概念并构建原型。对于兼容板,外部SMPS可显著降低运行模式下的功耗。实验采用STM32F446RE MCU的STM32 Nucleo-64(NUCLEO-F446RE)开发板,利用STM32CubeMX,创建MDK工程,实现流水灯。原创 2023-04-11 23:21:57 · 3616 阅读 · 0 评论 -
Keil MDK5.37以上版本自行添加AC5(ARMCC)编译器的方法
【对安装AC5后,编译时提示找不到序列号的错误,文中有提示的解决方法】从MDK5.37开始,AC5(ARMCC)编译器不再默认安装,需要独立安装。路径、字符等安装问题,都可能引起AC5的编译错误。下面给出不用爬坑的方法。下面是安装步骤:下载AC5(ARMCC)编译器:1. 官方页面(可能下载不成功)2.网盘下载百度网盘:链接:https://pan.baidu.com/s/1ND3vKLzqxanWVP304txRtQ ,提取码:idvc...........................原创 2022-07-16 00:28:07 · 45885 阅读 · 40 评论 -
基础篇006. 外部中断
STM32外部中断,STM32CubeMX原创 2023-03-20 22:28:25 · 2442 阅读 · 0 评论 -
基础篇005. 按键控制
利用STM32CubeMX,创建MDK工程,实现按键控制LED。学习在STM32CubeMX框架下自建硬件驱动文件的方法。原创 2023-03-08 17:09:40 · 1414 阅读 · 1 评论 -
基础篇004. 采用Proteus + STM32CubeMX + MDK-ARM学习流水灯
采用Proteus + STM32CubeMX + MDK-ARM学习流水灯原创 2023-02-27 22:53:54 · 3958 阅读 · 0 评论 -
基础篇003. 【STM3F1】使用STM32CubeMX创建MDK工程,实现流水灯的仿真与下载验证
1. 实验任务2. 硬件原理3. 利用STM32CubeMX创建MDK工程4.在MDK中编辑工程 4.1 代码编辑说明 4.2 修改代码5. 调试 5.1 虚拟仿真 5.2 虚拟仿真中的逻辑分析仪使用 5.3 硬件下载验证6. HAL库函数学习 6.1 HAL_GPIO_WritePin函数介绍 6.2 HAL_Delay函数介绍 6.3 HAL_GPIO_TogglePin函数 6.4 HAL_GPIO_ReadPin函数介绍6.5 HAL_GPIO_Ini和原创 2023-02-22 11:51:08 · 2876 阅读 · 2 评论 -
基础篇002. STM32开发环境搭建
STM32开发环境搭建1. MDK-ARM (Keil)2. STM32CubeMX3. STM32CubeProgrammer4. Proteus5. Visual Studio Code文中给出了STM32_Programmer_CLI.exe not found.报错解决办法原创 2023-02-21 23:50:57 · 2708 阅读 · 0 评论 -
基础篇001. STM32概述
STM32概述原创 2023-02-11 19:09:27 · 1262 阅读 · 0 评论