- 博客(9)
- 收藏
- 关注
原创 嵌入式——FlashRom
STM32中存储区分为:随机存取存储器RAM和只读存储器ROM。RAM为常说的内存,比如手机的2G内存4G内存等,就是程序跑起来的时候所占用的存储空间,特点是掉电数据丢失。ROM为常说的硬盘,比如手机的64G和128G等,可以简单的理解为硬盘的存储空间,特点是掉电数据不丢失,所以又叫“非易失性存储器件”。ROM又包含:EEPROM和flash。作为ROM的一份子,flash的特点自然是掉电数据不丢失。
2024-12-27 13:36:01
1045
原创 嵌入式——多任务程序设计
us/OS是Micrium公司出品的RTOS类实时操作系统, UCOS目前有两个版本:uc/OS-II和uc/OS-III。uc/OS-III是一个可裁剪、可剥夺型的多任务内核,而且没有任务数限制,提供了实时操作系统所需的所有功能,包括资源管理、同步、任务通信等。uc/OS-III是用C和汇编来写的,其中绝大部分都是用C语言编写的,只有极少数的与处理器密切相关的部分代码才是用汇编写的, uc/OS-III结构简洁,可读性很强!非常适合初次接触嵌入式实时操作系统学生、嵌入式系统开发人员和爱好者学习。
2024-12-20 17:20:56
1466
原创 嵌入式——温湿度采集与OLED显示
I2C 通讯协议(Inter-Integrated Circuit)是由 Phiilps 公司开发的,由于它引脚少,硬件实现简单,可扩展性强,不需要 USART、CAN 等通讯协议的外部收发设备,现在被广泛地使用在系统内多个集成电路(IC)间的通讯。AHT20英文手册AHT20中文手册在STM32微控制器和HAL库的实验中,我利用I2C协议,结合OLED显示屏和温湿度传感器,实现了温湿度数据采集与显示。这加深了我对硬件接口、通信协议及编程的理解,并锻炼了问题解决和系统集成能力。
2024-12-14 19:06:05
1220
原创 嵌入式——定时器与PWM
PWM(Pulse Width Modulation)即脉冲宽度调制,简称脉宽调制。它是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术;它是一种模拟控制方式,根据相应载荷的变化来调制晶体管基极或MOS管栅极的偏置,来实现晶体管或MOS管导通时间的改变,从而实现开关稳压电源输出的改变。本次实验的重点是以定时器为核心,主要实现了定时器中断的功能,并利用PWM(脉宽调制)信号来控制呼吸灯的变化。对定时器的理解,实际上可以归结为一点:它的本质是计数器。
2024-12-10 15:28:43
1089
原创 嵌入式——STM32串口通信
DMA定义:DMA用来提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。无须CPU的干预,通过DMA数据可以快速地移动。这就节省了CPU的资源来做其他操作。DMA传输方式:DMA的作用就是实现数据的直接传输,而去掉了传统数据传输需要CPU寄存器参与的环节,主要涉及四种情况的数据传输,但本质上是一样的,都是从内存的某一区域传输到内存的另一区域(外设的数据寄存器本质上就是内存的一个存储单元)。四种情况的数据传输如下:1.外设到内存2.内存到外设3.内存到内存4.外设到外设.
2024-12-05 22:28:07
1044
原创 STM32——基于HAL库的中断控制LED流水灯
在之前的学习过程中,我已经成功地实现了三种不同的方式来点亮LED流水灯:首先是通过直接的寄存器操作,其次是利用标准外设库(StdPeriph库),最后是通过HAL库来控制LED的点亮与熄灭。每一种方式都有其独特的优点与应用场景,从中我不仅熟悉了STM32的基本硬件控制方法,还深入了解了如何根据需求选择合适的开发方式。不过,在这些实验完成后,我觉得自己在控制LED流水灯时已经掌握了基本的操作,接下来的目标是提升代码的效率和功能,进一步探索STM32的更高层次的应用——这就是中断的使用。
2024-11-30 23:33:59
923
原创 STM32——基于HAL库流水灯实验
在这次的学习和实验中,我已经完成了基于寄存器操作的STM32流水灯(STM32F103的流水灯点亮),以及基于标准外设库的流水灯项目。这些项目让我初步掌握了STM32的底层开发方法,深入理解了寄存器操作和外设库的应用。每一项实验都极大地增强了我对STM32硬件和软件之间的联系的理解,特别是在编写底层代码时,我学到了如何直接控制硬件并操作各类外设。本次实验则将重点放在了使用STM32CubeMX和HAL库进行开发。
2024-11-30 22:02:20
704
原创 嵌入式——基于寄存器地址&标准外设库的LED流水灯
本篇文章主要介绍了STM32的一些基础知识,包括基本的开发步骤以及如何熟悉和使用Keil软件。在实验中,我们通过两种方式(寄存器方式和标准库方式)进行了点亮流水灯的操作,帮助我们加深了对STM32开发过程的理解。通过实际操作,我发现寄存器方式虽然能提供更高的执行效率,但由于需要直接操作硬件寄存器,开发难度较大,且要求开发者对硬件的工作原理有深入的了解,因此在实际开发中,更多开发者选择使用标准库方式。
2024-11-18 10:44:50
1128
1
原创 嵌入式系统程序设计基础——Ubuntu和windows双系统上编译运行C语言程序
本次实验中,我分别在Ubuntu和Windows系统上编译和运行了C语言程序。在Windows系统上,我使用了DEV工具进行编译和调试。在这个过程中,将main1.c和sub1.h写进去就能编译通过,运行也成功的结果,非常方便。在Ubuntu系统中,我采用了两种不同的方式来编译和运行C语言程序,一种是使用gcc编译器直接进行编译,另一种是通过Makefile来管理编译过程。在使用gcc进行编译时,我通过命令行直接调用gcc工具,并指定源文件进行编译和链接。
2024-11-11 19:03:56
768
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人