- 博客(13)
- 收藏
- 关注
原创 第12周实验---嵌入式RTOS多任务程序设计
μC/OS-III(MicroC/OS-III)是由美国嵌入式实时操作系统(RTOS)领域的专家Jean J. Labrosse创建的一款实时操作系统。它是 μC/OS 系列的第三代,专为嵌入式系统设计,广泛用于各种嵌入式应用中,包括汽车电子、医疗设备、工业控制、通信设备等。以下是对μC/OS-III的简单介绍:1.实时性: μC/OS-III是一个实时操作系统,旨在满足实时嵌入式系统对任务响应时间的严格要求。它提供了多任务管理、任务优先级、中断处理等功能,以确保系统对事件的及时响应。
2023-11-27 18:09:33
994
1
原创 第11周实验--数字温度计
在使用STM32F103的RTC模块时,可以通过读写相应的寄存器来配置和获取时间、日期等信息。整体而言,STM32F103的RTC模块提供了一个灵活且功能丰富的实时时钟解决方案,适用于需要准确时间和日期信息的嵌入式系统。这些寄存器包括秒(Second)、分(Minute)、时(Hour)、日(Day)、月(Month)、年(Year)等。STMicroelectronics的STM32F103系列微控制器包含了实时时钟(RTC)模块,用于提供精确的时间和日期信息。(1)编译无错,成功生成HEX文件。
2023-11-25 18:07:49
433
原创 第10周作业--汉字点阵与OLED屏显
1. 串口传输文件的练习。将两台笔记本电脑,借助 usb转rs232 模块和杜邦线,建立起串口连接。然后用串口助手等工具软件(带文件传输功能)将一台笔记本上的一个大文件(图片、视频和压缩包软件)传输到另外一台电脑,预算文件大小、波特率和传输时间三者之间的关系,并对比实际传输时间。一、实验目的将两台笔记本电脑,借助 usb转rs232 模块和杜邦线,建立起串口连接。
2023-11-19 22:48:03
119
原创 第10周实验---IIC协议读取温湿度数据
软件I2C读写芯片和硬件I2C读写芯片是两种不同的方法来实现与I2C设备进行通信。硬件I2C读写芯片是指使用专门]的硬件电路来实现I2C通信协议。这种方法利用微控制器或其他支持l2C的芯片上的硬件模块来处理I2C通信,包括时序控制、数据传输和应答等。硬件I2C读写芯片通过硬件电路实现,具有高速、可靠性好的特点,适用于对时序要求较高的应用。软件I2C读写芯片是指通过软件方式来模拟实现I2C通信协议。
2023-11-15 18:50:09
121
原创 第8-9周作业--定时器&PWM应用编程
实验任务:深入了解STM32定时器原理,掌握脉宽调制pwm生成方法。一. 使用STM32F103的 Tim2~Tim5其一定时器的某一个通道pin(与GPIOx管脚复用,见下图),连接一个LED,用定时器计数方式,控制LED以2s的频率周期性地亮-灭。二. 接上,采用定时器pwm模式,让 LED 以呼吸灯方式渐亮渐灭,周期为1~2秒,自己调整到一个满意效果。使用Keil虚拟示波器,观察 pwm输出波形。
2023-11-04 20:55:13
73
1
原创 第8周实验----基于中断/DMA方式的串口通信
放在main函数内,设置数据存放位置,用于串口中断接收,在接收到数据时触发串口中断,经过中断函数处理后接收到指定长度数据,然后关闭中断,进入中断接收回调函数,不再触发中断。使用这个函数开启发送中断,发送寄存器为空时触发中断,将要发送的数据送入发送寄存器并发送。在此实验中,我们把它当做普通的发送函数即可。添加字符串进行判断,用数组来储存接收的变量,并将其与特定的指令进行匹配,根据匹配的结果执行对应的程序。添加字符串进行判断,用数组来储存接收的变量,并将其与特定的指令进行匹配,根据匹配的结果执行对应的程序。
2023-11-02 17:36:29
229
原创 第7周---STM32串口通信入门
一. 了解串口协议和RS-232标准,以及RS232电平与TTL电平的区别;了解"USB/TTL转232"模块(以CH340芯片模块为例)的工作原理。
2023-10-26 20:00:50
99
1
原创 第7周实验3--基于HAL库的LED流水灯
一.实验任务:1. 了解并掌握STM32中断原理,HAL库函数开发方法。安装 stm32CubeMX,配合Keil,使用HAL库方式完成下列任务:重做上一个LED流水灯作业,即用GPIO端口完成3只LED红绿灯的周期闪烁。用stm32F103核心板的GPIOA端某一管脚接一个开关(用杜邦线模拟代替)。采用中断模式编程,当开关接高电平时,LED流水灯工作;接低电平时,LED流水灯停止工作。
2023-10-24 19:57:43
74
原创 第六周实验2---基于标准外设库的LED流水灯
5.将USER文件夹中导入main.c、stm32f10x_conf.h、stm32f10x_it.c、stm32f10x_it.h文件。9.在Define一栏中输入以下内容STM32F10X_MD,USE_STDPERIPH_DRIVER,并进行相应设置。7.在CORE文件中导入core_cm3.c、system_stm32f10x.c文件,点击ok完成设置。6.在FWLIB文件中导入startup_stm32f10x_md.s文件。4.在SYSTEM文件中将外设库的src文件夹中的所有文件加入。
2023-10-16 22:04:30
95
1
原创 STM32F103的流水灯点亮版本1(寄存器地址操作)
GPIO是通用输入输出端口的简介,简单来说就是STM32可控制的引脚,STM32芯片的GPIO引脚与外部设备连接起来,从而实现与外部通讯、控制以及数据采集的功能。电源供应选择 VCC/VDD,左键单击选中未连接电网中的VDDA和VSSA,点击增加到,再点击确定,双击STM32F103C6核心板,Program File导入Kiel中生成的*.HEX*文件,点击确定,然后开始仿真。存储器本身不具有地址信息,它的地址是由芯片厂商或用户分配,给存储器分配地址的过程称为存储器映射,如下图所示(st官方文件)。
2023-09-30 18:00:45
217
原创 第3周---GCC背后的故事&C程序常量变量的地址分配
通过几个示例程序和阅读相关资料学会了用gcc生成静态库和动态库,还有静态库.a与.so库文件的生成和使用。虽然在过程中遇到了很多问题,但是通过询问同学和查询网上资料结合自己的实际应用总算解决了。这次实验让我更加熟练的使用gcc编译工具也更加了解了gcc。相信在以后的学习过程中会更加轻松自得。
2023-09-29 10:44:24
199
1
原创 嵌入式系统第二周STM/51单片机编程入门
(2)51单片机的开发环境和工具链相对成熟,支持的开发软件和硬件资源丰富,学习资源也更多,便于初学者入门。相比之下,STM32具有更复杂的架构和更多的寄存器,需要更多的学习和理解。(1)对内存中的变量进行修改操作时,可以直接使用变量名来进行读取和修改,而对外部设备的操作通常需要通过特定的寄存器或地址进行读写。(2)内存中的变量修改操作通常是在代码中进行的,而对外部设备的操作通常是通过特定的指令或函数调用来完成的。(3)对内存中的变量的修改操作主要受限于内存容量,而对外部设备的操作则受限于设备的特性和功能。
2023-09-24 20:30:49
181
1
原创 嵌入式系统第一周实验作业
编写一个主程序main.c和一个子程序sub.c,子程序中包含一个算术运算函数float x2x(int a,intb),此函数功能为对两个输入整型参数做某个运算,将结果做浮点数返回;通过这次试验我明白了用Windows系统和在Ubuntu环境下通过gcc和makefile编译C语言的区别与类似,Windows系统可以同时打开多个文件输入,但gcc与makefile更具灵活性。1.在Ubuntu系统上使用C语言编写一个简单的hello world程序,并编译运行之。一.使用gcc编译c程序。
2023-09-17 16:41:52
137
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人