- 博客(11)
- 收藏
- 关注
原创 嵌入式操作系统(RTOS)移植与实践
学习嵌入式实时操作系统(RTOS),以uc/OS为例,将其移植到stm32F103上,构建至少3个任务(task):其中两个task分别以1s和3s周期对LED等进行点亮-熄灭的控制;另外一个task以2s周期通过串口发送“hello uc/OS!欢迎来到RTOS多任务环境!记录详细的移植过程。
2025-11-03 20:20:40
741
原创 OLED显示
1、了解I2C协议的基本原理和时序协议;2、掌握0.96寸OLED屏的工作原理,汉字点阵显示原理;3、掌握开源GUI库U82G在stm32上的移植编译方法,以及图形界面可视化技术。
2025-10-31 21:03:40
544
原创 IIC协议采集温湿度
具体任务:1)解释什么是“软件I2C”和“硬件I2C”?(阅读野火配套教材的第23章“I2C–读写EEPROM”原理章节)2)阅读AHT20数据手册,编程实现:每隔2秒钟采集一次温湿度数据,并通过串口发送到上位机(win10)。
2025-10-29 12:38:10
246
原创 第3周--GCC背后的故事&C程序常量变量的地址分配
学习任务如下: 1)阅读、理解和学习材料“用gcc生成静态库和动态库.pdf”和“静态库.a与.so库文件的生成与使用.pdf”,请在Linux系统(Ubuntu)下如实仿做一遍。2)在第一次作业的程序代码基础进行改编,除了x2x函数之外,再扩展写一个x2y函数(功能自定),main函数代码将调用x2x和x2y;将这3个函数分别写成单独的3个 .c文件,并用gcc分别编译为3个.o 目标文件;
2025-10-11 22:00:13
278
1
原创 FlashRom
Flash地址空间的数据读取。stm32f103c8t6只有20KB 内存(RAM)供程序代码和数组变量存放,因此,针对内部Flash的总计64KB存储空间(地址从0x08000000开始),运行一次写入8KB数据,总计复位运行代码8次,将64KB数据写入Flash,并验证写入数据的正确性和读写速率。此外,继续往后续地址写入数据,检验stm32f103c8t6 实际FlashROM是否超过64KB。
2024-12-29 19:41:50
370
原创 多任务程序设计
uc/OS-III是一个可升级的、可固化的、基于优先级的实时内核。1、基本特性(1)多任务处理:uc/OS-III是一个支持多任务抢占的内核,能够使得一个CPU核心“同时运行”多个任务。实际上,CPU核心在某一时刻只能运行一个任务,但操作系统中的任务调度器可以快速地在各个任务之间来回切换,从而给人造成了一种同一时刻有多个任务同时运行的错觉。(2)任务优先级:uc/OS-III允许用户为每个任务分配一个优先级,任务调度器会根据此优先级来决定下一刻应该运行哪个任务。
2024-12-25 22:52:13
730
原创 定时器与PWM
1. 之前作业中的延时功能都是通过循环、delay/Hal_delay函数等实现,本次作业通过定时器Timer方式实现时间的精准控制,相当于给CPU上了一个闹钟,CPU平时处理其它任务,当定时时间到了以后,处理定时相关的任务。请设置一个5秒的定时器,每隔5秒从串口发送“hello windows!同时设置一个2秒的定时器,让LED等周期性地闪烁,实现一个多任务并发运行的功能。思考,如果不采用定时器,如何同时完成上面两个周期性任务?
2024-12-11 22:52:45
308
原创 STM32串口通信
为了增加串口通讯的远距离传输及抗干扰能力,RS-232标准使用-15V 表示逻辑 1, +15V 表示逻辑 0。串口协议就是一种数据传输协议,常用于计算机和其他设备之间的通信,它定义了数据传输的规则,如数据格式、传输速率等。四. 在没有示波器条件下,可以使用Keil的软件仿真逻辑分析仪功能观察任务二(1)串口输出波形,并分析时序状态正确与否,计算波特率实际为多少。1、预估文件大小、波特率和传输时间三者之间的关系,并对比实际传输时间。RS-232:逻辑0表示-5V至-15V,逻辑1表示+5V至+15V。
2024-12-09 22:34:45
1240
原创 基于HAL库和中断的LED流水灯
一. 了解并掌握STM32中断原理,HAL库函数开发方法。安装 stm32CubeMX,配合Keil,使用HAL库方式完成下列任务:1、重做上一个LED流水灯作业,即用GPIO端口完成3只LED红绿灯的周期闪烁。2、用stm32F103核心板的GPIOA端某一管脚接一个开关(用杜邦线模拟代替)。采用中断模式编程,当开关接高电平时,LED流水灯工作;接低电平时,LED流水灯停止工作。
2024-12-01 21:25:14
333
原创 基于寄存器地址&标准外设库的LED流水灯 实验报告
1)写出程序设计思路,包括GPIOx端口的各寄存器地址和详细参数;2)用C语言寄存器方式编程实现,代码须有详细注解。3)STM32最小系统核心板子出厂时已经焊接好了1个led灯(标注了PC13处),一般可通过此灯的点亮让编程者验证自己烧录的代码是否正常运行了。请查阅最小版电路原理图和相关资料,将这个灯也用在流水灯中,重编新程序。
2024-11-20 23:22:53
578
原创 嵌入式开发环境与软件编程基础
本次实验,我学习了如何在Ubuntu和Windows系统下编写、编译和运行C语言程序;理解了主程序和子程序之间的调用关系;学习了使用Makefile自动化编译过程,为未来的学习工作打下了基础。
2024-11-15 08:49:42
425
【C语言开发】基于GCC的静态动态库构建与内存管理:Ubuntu及STM32平台变量地址分配分析
2025-10-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅