- 博客(11)
- 收藏
- 关注
原创 基于STM32F103c8t6进行Flash读写操作
本次实验聚焦于 STM32F103C8T6 单片机的 Flash 读写操作。该单片机内存(RAM)仅 20KB,需合理规划数据存储,而其内部 Flash 存储空间为 64KB(起始地址 0x08000000)。实验中,通过 8 次复位运行,每次写入 8KB 数据来填满 64KB Flash 空间,这涉及对 Flash 编程寄存器的精确配置以确保正确写入。
2024-12-28 00:06:23
1265
原创 STM32F103C8T6基于HAL库移植uC/OS-III
通过本次将 μC/OS-III 移植到 STM32F103 并创建多个任务的实验,我对嵌入式实时操作系统有了更深入的理解和实践经验。创建不同周期的任务让我体会到了 RTOS 多任务并发执行的优势,可以同时处理多个不同时间要求的任务,提高了系统的效率和响应性。同时,也意识到任务之间的资源共享和同步问题需要谨慎处理,避免出现数据冲突和错误。参考链接:【嵌入式17】STM32F103C8T6基于HAL库移植uC/OS-III及逻辑分析仪波形观测。
2024-12-20 16:53:55
1312
3
原创 利用U8G2库实现OLED屏显
OLED(Organic Light - Emitting Diode)即有机发光二极管,主要由阴极、阳极和有机发光层组成。当在阳极和阴极之间施加适当的电压时,电子和空穴在有机发光层中结合,产生激子,激子通过辐射跃迁复合发光。通过本次基于 STM32F103 与 OLED 屏的实验项目,我收获颇丰,对嵌入式系统的显示控制有了更深入的理解和实践经验。在深入探究 OLED 屏显和汉字点阵编码原理的过程中,我认识到了数字显示背后的巧妙逻辑。
2024-12-15 21:14:59
1259
原创 STM32F103c8t6基于I2C协议的AHT20温湿度传感器的数据采集
实践操作中,依据 AHT20 数据手册成功编写代码,实现了每隔 2 秒采集一次温湿度数据,并准确通过串口发送到上位机。过程中克服了 I2C 通信的时序配置、传感器初始化及数据解析等难题,最终达到稳定采集与传输数据的效果,有效验证了所学的 I2C 协议知识与传感器应用技能,为后续嵌入式系统开发中涉及到的各类传感器数据采集任务奠定了坚实基础,提升了自身在嵌入式领域的实践能力与问题解决能力。参考链接:stm32通过I2C接口实现温湿度(AHT20)的采集链接:【STM32c8t6】AHT20温湿度采集。
2024-12-15 13:55:58
1791
3
原创 利用PWM实现呼吸灯
通过本次实验,我深入理解了 TIM3 和 TIM4 定时器的配置流程,包括设置时钟源、预分频系数、自动重装载值等参数以得到合适的 PWM 频率,以及通过改变比较值来调整占空比实现呼吸灯的亮度渐变。掌握了在代码中如何灵活地控制两个定时器的启动、停止与参数更新,使两个 LED 能呈现出呼吸灯效果。PWM原理 PWM频率与占空比详解STM32输出PWM完成呼吸灯。
2024-12-11 18:09:28
1131
原创 使用定时器进行串口通信和点灯
使用定时器节省了资源也减短了设计时间,只需要通过简单的计算就可以达到理想时间的定时。如果不使用定时器,可以在主循环中通过嵌套不同的延时循环来分别实现两个不同周期的任务。这种方法是比较简单直接的,但会占用大量的 CPU 资源,并且时间精度相对较低。STM32使用定时器进行串口通信和点灯。
2024-12-11 14:05:35
1119
原创 STM32串口通信
本次串口通信实验涵盖了多个方面的内容。在串口传输文件实验中,深入探究了文件大小、波特率与传输时间的关系。理论上传输时间与文件大小成正比、与波特率成反比,但实际因串口通信的额外开销,实际传输时间远超理论值。STM32 串口通信实验中,首先研究了连续发送数据时无延时对上位机接收的影响,高波特率下无延时易导致上位机接收数据丢失。接着实现了根据上位机指令暂停和恢复发送的扩展功能,串口中断方式在其中起到关键作用,有效实现了数据传输的灵活控制。
2024-12-09 23:19:39
1909
原创 gitee的注册和代码提交
可以在你选择打开的文件夹下找到他们。输入这段代码后,他会让你选择要放入文件的地址。选择你C/Users/下的文件夹输入缺失的部分。这里的“Your Name”可以查看你的gitee账户,@后为Your Name。连接成功,可以在gitee建立的库中看到上传的工程代码。“you@example.com”与你绑定的邮箱一致。在要传输的文件夹下打开Git Bash,建一个本地库。读取指定的文件中的内容作为初始化信息填写到提交信息中。”xxx@163.com“与你的邮箱一致。将公钥(.pub)添加到gitee中。
2024-12-01 00:40:08
1156
2
原创 基于HAL库和中断的LED流水灯
通过本次实验,我深入学习了 STM32 的中断原理和 HAL 库函数开发方法。在 STM32CubeMX 的辅助下,快速配置了工程所需的 GPIO 引脚和中断设置,减少了手动配置寄存器的繁琐过程。在 Keil 中编写的代码实现了 LED 流水灯功能,并通过外部中断控制其启停。利用 Proteus 对电路进行仿真,验证了硬件设计和软件功能的正确性。
2024-11-30 20:55:45
738
原创 STM32F103c8t6流水灯——基于寄存器地址&标准外设库方式(巨详细)
本实验通过寄存器地址和标准外设库两种方式配置流水灯,通过实物实验现象和仿真波形均能得到正确结果。对于初学者而言,寄存器的方式是最先接触的,是最基础的但是非常的麻烦。需要逐个查阅所需寄存器的地址还要根据端口结合地址偏移算出确切地址,这就造成了这种方法很容易出错,而且工作量庞大。如果配错端口,代码可能不会报错,但是无法实现功能,排查错误也需要很多时间。而使用标准外设库,是站在巨人的肩膀上看世界。各种定义、标准函数都已给出,我们想要执行功能只需要调用函数,只进行主函数的编写即可,这种方法最常见,也带来了便利。
2024-11-20 23:26:13
1722
原创 Ubuntu系统下使用gcc和Makefile方式编译C程序
打开Ubuntu系统的终端创建task_1文件夹打开task_1文件夹cd task_1用vim创建一个helloworld.c的文件输入i进入编辑模式输入以下代码按Esc退出编辑”:“+”x“进行保存并退出使用gcc命令编译helloworld.c运行helloworld.c文件。
2024-11-11 22:01:50
469
空空如也
ubuntu20.04无法显示wifi图标
2024-09-27
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅