- 博客(14)
- 收藏
- 关注
原创 STM32--内部FLASH的读写操作
在实际项目中,很可能需要保存一下数据到 stm32f103c8t6 芯片的 flash rom中(掉电不丢失数据,程序可以再次读入上次写的数据。flash rom相当于是个硬盘,可做存储型数据保存)。通过本次实验学会了STM32内部Flash的读写操作,可以断电不清除Flash的内容,为程序提供了便利。
2024-12-25 19:42:19
625
原创 STM32F103C8T6基于HAL库移植uc/OS-II
在以下位置处将PendSV_Handler和SysTick_Handler改为OS_CPU_PendSVHandler和OS_CPU_SysTickHandler。#define APP_CFG_SERIAL_EN DEF_ENABLED 改为 #define APP_CFG_SERIAL_EN DEF_ DISABLED。将 UCOSIII/UcosIII/Ports/RAM-Cortex-M4/Generic/RealView中三个文件添加进 uCOSIII_Ports 组。
2024-12-24 12:50:11
1093
原创 STM32F103基于SPI接口的OLED显示数据(U82G库)
本次实验需要经过很多挑战,需要自己配置U8g2,过程中稍不注意就会报错,还需要根据字模编写相应的代码,但最终还是学会了使用OLED屏发送字符,显示温湿度,为今后嵌入式的学习打下基础。
2024-12-14 19:14:55
950
原创 STM32F103通过I2C协议实现串口温湿度(AHT20)的采集
I2C(Inter - Integrated Circuit)即集成电路总线,是一种由飞利浦公司开发的串行通信协议,用于连接微控制器和其他集成电路(如传感器、EEPROM、显示器等)。学习了I2C协议的基本内容,并用I2C协议实现了读取温湿度传感器数据。
2024-12-14 14:10:55
938
原创 STM32定时器与PWM呼吸灯
通过本次实验,成功实现了 STM32 中 TIM2、TIM3 和 TIM4 定时器的多种应用功能,包括串口通信与双 LED 呼吸灯效果的达成。在定时器配置方面,理解了时钟源、预分频系数、自动重装载值等参数对定时功能的影响机制,掌握了如何根据具体实验需求进行精准配置,以实现稳定的定时中断和精确的计数控制,为后续在其他嵌入式项目中运用定时器提供了实践经验。
2024-12-11 13:39:43
859
原创 基于HAL库实现stm32串口通信
本次实验主要使用HAL库来完成USART串口通信,完成STM32系统给上位机连续发送一串字符,win10采用“串口助手”工具接收观察。
2024-12-09 16:49:13
560
原创 串口协议和RS-232标准,以及RS-232电平与TTL电平的区别,“USB/TTL转232“模块(以CH340芯片模块为例)的工作原理。
串口通信协议(Serial Communication Protocol)是一种通过逐位传输数据的方式进行通信的协议。它通过一根或多根电缆传输数据,在通信过程中,数据是按顺序逐位传输的,因此也称为 **串行通信。RS-232 标准是串口通信中最为经典和广泛使用的通信协议之一,它定义了串行通信的电气特性、连接方式和信号传输方式。
2024-12-09 12:07:02
1326
原创 STM32基于HAL库实现 LED 亮灭(中断模式)
使用CubeMX生成代码能比较方便地实现中断控制灯的亮灭,但需要注意GPIO引脚高低电平的设置和优先级的处理。在实验中是用杜邦线模拟代替开关,不考虑消抖,如果是按键开关就需要延迟消抖处理。
2024-11-30 14:30:17
308
原创 STM32基于HAL库的流水灯实验
通过本次HAL库的STM32流水灯实现,让我感受到了CubeMX的方便之处,只需要配置好GPIO引脚和一些其他设置就可以快速生成Keil代码,通过修改代码中的函数就可以达到想要的功能。5.GPIO配置端口选择,在芯片的引脚上右键想用的端口设置为GPIO_OUTPUT,这里选择的是PA15,PB0,PC13。3.选择适配开发板的固件库进行安装,这里选用的STM32F1。6.选择下载地址,注意路径中不要有中文,接着选择next。5.勾选understood,接着选择next。8.默认选项即可,选择next。
2024-11-30 14:05:10
710
原创 基于寄存器地址和标准外设库的LED流水灯
寄存器的功能是存储二进制代码,它是由具有存储功能的触发器组合起来构成的。一个触发器可以存储1位二进制代码,故存放n位二进制代码的寄存器,需用n个触发器来构成。本文介绍了建立keil工程,使用寄存器和标准外设库编写LED流水灯的代码,在这一过程中我体会到了用寄存器编译需要较多的知识,比如GPIO的时钟配置,端口配置低寄存器配置输出模式,端口输入数据寄存器和端口输出数据寄存器,需要对硬件有较多方面的了解,对比而言标准外设库的编写相对简单,但需要了解各个函数的功能。
2024-11-19 22:59:11
646
原创 Ubuntu20.04中使用gcc和Makefile编写C程序
本次实验在Ubuntu20.04上通过两个方式完成了编译,同时也在Windows中完成了编译,可以发现Windows中通过软件编译运行很方便地根据.cpp文件生成应用程序并执行,但是在Linux操作系统中通过gcc和Makefile一步步运行能更直观地感受到c语言程序编译的过程。
2024-11-12 21:57:45
355
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人