- 博客(8)
- 收藏
- 关注
原创 基于HAL库的Flash地址空间数据读取测试
除了官方文档中提到的64KB Flash ROM外,实际上还可以继续向其写入更多的数据。这表明该型号的STM32F103C8T6可能拥有比标准规格更高的Flash存储容量,或者存在某种机制允许超出预期范围的数据存储。
2024-12-29 13:35:19
938
原创 基于HAL库移植uC/OS-III的多任务程序设计
若处理器所需执行的任务较为单一,那么可以不采用操作系统;而若其任务量较多,为方便管理,则可引入简洁的实时操作系统。在移植 uCOS 时,必须格外仔细。因为只要在移植过程中遗漏某一个步骤,比如参数设置或者文件路径设置出现问题,就极易在编译时产生大量错误。整个实验流程并不繁琐,只需依照顺序逐步推进,就能顺利完成移植并执行相关任务。
2024-12-23 21:42:07
911
原创 AHT20温湿度采集与OLED显示
I²C(Inter-Integrated Circuit)总线是一种由Philips(现NXP Semiconductors)开发的简单的双向二线制串行总线协议。它允许微控制器和其他集成电路(ICs)进行短距离通信,主要用于连接低速的外围设备。I²C总线仅使用两条线路:一条串行数据线SDA(Serial Data Line)和一条串行时钟线SCL(Serial Clock Line)。这两条线通常通过上拉电阻连接到电源电压。
2024-12-14 14:44:26
1173
原创 基于STM32CubeMX的定时器与PWM呼吸灯
本次 STM32 实验借助 TIM2 和 TIM3 定时器开展,成功实现串口通信与点灯功能。在定时器设置环节,细致调整时钟源、预分频与重装载值,精准把控定时参数,为后续操作提供稳定时基。串口通信经引脚初始化与参数配置后,顺利达成数据收发,拓展了芯片对外交互能力。而对于点灯部分,尤其是两个 LED 呼吸灯效果的实现,依靠定时器中断精准改变占空比,使灯光亮度平滑渐变,如呼吸般自然。
2024-12-08 16:04:52
1215
原创 电脑之间USB/TTL串口通信与基于STM32CubeMXHAL库的USART中断STM32串口通信
本次实验涵盖了电脑之间通过USB/TTL串口通信以及基于STM32CubeMX HAL库的USART中断实现STM32串口通信两部分内容。在电脑之间的USB/TTL串口通信中,利用相应的串口线连接电脑,借助特定的串口调试助手等工具,实现数据在不同电脑间的传输交互,能直观感受串口通信的基本原理与过程。
2024-12-06 16:44:57
858
原创 基于HAL库和中断的LED流水灯(STM32CubeMX与MDK版)
本次实验让我收获颇丰,成功迈出了探索hal库使用方法的第一步,同时也掌握了利用STM32CubeMX创建相关工程的详细流程。此前,我有过基于寄存器和基于标准库的开发经历。基于寄存器开发时,需牢记芯片内部各寄存器地址与位操作规则,逐一手动设置,过程繁杂琐碎,但也因此对硬件底层运行机制有了深刻认知。基于标准库开发,则借助封装好的函数集开展工作,调用函数即可实现诸多常规操作,相较寄存器开发简便不少。
2024-11-28 22:31:33
832
原创 基于寄存器与标准外设库的stm32LED流水灯设计
本实验通过实践操作,让我掌握了STM32微控制器的寄存器操作和标准外设库的使用,成功实现了LED流水灯功能。对比两种方法,寄存器操作执行效率高但编程复杂,而标准外设库简化了编程过程,提高了代码可读性。虽然根据代码参数设置中的亮灯时间与波形图实际时间存在一定误差,但是具体区别不影响整体实验的参考性。同时,深刻体会到了STM32的强大功能和灵活性,认识到选择合适的编程方法对实际项目的重要性,并期待在未来的学习和工作中继续探索STM32的更多应用。
2024-11-17 00:06:19
724
原创 Ubuntu20.04使用gcc和Makefile编译C语言程序
在Ubuntu系统上进行C语言编程实验的过程中,我采用了两种不同的编译方式:直接使用gcc命令行工具和通过Makefile来管理项目。这次经历让我深刻体会到了从源代码到可执行文件之间转换的全过程,这是Windows平台上IDE“一键编译”所无法提供的体验。虽然IDE极大地简化了开发流程,使得生成可执行文件变得异常简单快捷,但它同时也掩盖了许多背后复杂且重要的步骤。
2024-11-10 22:23:30
1219
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人