- 博客(8)
- 收藏
- 关注
原创 STM32Flash地址空间的数据读取
通过这次关于stm32f103c8t6芯片Flash地址空间数据读取的实验,认识到硬件资源限制带来的挑战与应对方法。面对仅有20KB的RAM却要处理64KB Flash存储空间数据的情况,采取多次分块写入的策略是解决问题的有效途径,明白了在嵌入式开发中需依据硬件条件灵活规划操作流程。其次,数据验证环节至关重要。对写入Flash数据进行正确性验证以及了解读写速率,让我清楚保障数据准确和掌握存储性能是开发中不容忽视的部分,关乎整个系统的可靠性与实用性。
2024-12-29 22:17:49
1554
原创 STM32F103C8T6基于HAL库移植uC/OS-III的多任务设计
UCOSIII即μC/OS-III,是一款开源的实时操作系统内核,由Micrium公司开发,具有以下特点和相关情况:1.特点高度可移植性:UCOSIII的大部分代码是用C语言编写的,只有少数与处理器相关的代码使用汇编语言编写,因此可以方便地移植到不同的处理器平台上,如ARM、MIPS、PowerPC等。可裁剪性:该系统具有高度可裁剪性,用户可以根据实际应用的需求,选择需要的系统功能组件,而将不需要的部分裁剪掉,从而减小系统的内存占用。实时性强。
2024-12-24 13:07:13
1166
原创 温湿度采集与OLED显示
文章目录一、I2C总线通信协议二、I2C协议的基本原理和时序协议三、通过串口实现2秒钟采集一次温湿度数据1.通过STM32CubeMX配置项目2.代码编写3.硬件连接及运行四、基于I2C协议的OLED显示(利用U82G库)1.通过OLED展示姓名学号2.OLED滑动显示长字符五、用OLED屏显示AHT20的温度和湿度总结提示:以下是本篇文章正文内容,下面案例可供参考一、I2C总线通信协议I2C简介I²C(Inter-Integrated Circuit)总线是一种由Philips(现NXP
2024-12-15 22:28:31
689
原创 STM32使用定时器与PWM实现串口通信和点灯
(1)能够对内部时钟信号或外部输入信号进行计数,数值达到设定要求时,向CPU发起中断请求,完成外部程序的运行。(2)本质就是进行计数,选择内部时钟脉冲,作为计数器时,技术信号的来源选择非周期脉冲信号。(3)STM32中定时器可分为高级定时器、通用定时器、基本定时器三类,他们都是由一个可编程的16位预分频器(TIMX_PSC)驱动的16位。
2024-12-10 21:07:29
1291
原创 STM32串口通信
(1)串口发送/接收函数HAL_UART_Transmit():串口发送数据,使用超时管理机制;HAL_UART_Receive():串口接收数据,使用超时管理机制;HAL_UART_Transmit_IT():串口中断模式发送;HAL_UART_Receive_IT():串口中断模式接收;HAL_UART_Transmit_DMA():串口DMA模式发送;HAL_UART_Transmit_DMA():串口DMA模式接收;
2024-12-09 14:56:54
1254
原创 使用STM32CubeMX实现基于HEL库的LED流水灯
重做LED流水灯作业,用GPIO端口实现3只LED红绿灯的周期闪烁。用stm32F103核心板的GPIOA端某一脚接一个开关,采用中断模式编程,高电平时LED流水灯工作,低电平时停止工作。通过这个实验,在理解STM32中断原理和HAL库函数开发方法的过程中,不仅巩固了课堂上学到的知识,还通过实际操作对这些知识有了更深入的理解。实验中也用到多种软件工具,如Keil和Proteus。使用Keil进行软件仿真逻辑分析仪功能观察管脚的时序波形,能够方便地进行动态跟踪调试和定位代码故障点。
2024-12-01 12:37:07
826
原创 STM32F103C8T6基于寄存器或标准库实现流水灯
通过本次实验,对 STM32 的 GPIO 控制有了更深入的理解。在基于寄存器的编程中,能够深入了解底层硬件的工作原理,直接操作寄存器可以更精准地控制硬件资源,但代码编写相对繁琐且可读性较差,需要对硬件架构和寄存器有深入的了解。而基于标准外设库的编程方式,大大提高了代码的可读性和开发效率,通过调用库函数可以快速地实现功能,减少了开发时间和出错的概率。最后,通过Keil软件自带的仿真示波器显示功能,也能将理论和实际情况做对比,从中了解差距,引发思考,提高对实际情况的考量把握。
2024-11-20 22:03:35
1410
原创 Ubuntu20.04下C语言编译及makefile的应用
命令:“gcc main.o sub1.h -o prog”,此命令指示编译器“gcc”将目标文件“main.o”与头文件“sub1.h”一起进行链接操作(实际上头文件主要起辅助作用,这里准确说是结合目标文件以及头文件所关联的源文件中定义的函数等内容),最终生成名为“prog”的可执行文件。命令:“rm prog *.o”,用于删除当前目录下名为“prog”的可执行文件以及所有以“.o”结尾的目标文件,达到清理编译过程中生成的可执行文件和中间目标文件的目的,以便后续能进行重新的、干净的编译构建操作。
2024-11-13 13:14:17
971
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅