自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 基于HAL库的STM32F103移植RTOS多任务程序设计

uC/OS-III(Micro C OS Three 微型的C 语言编写的操作系统第3版)是一个可升级的,可固化的,基于优先级的实时内核。它对任务的个数无限制。uC/OS-III 是一个第3 代的系统内核,支持现代的实时内核所期待的大部分功能。例如资源管理,同步,任务间的通信等等。然而,uC/OS-III 提供的特色功能在其它的实时内核中是找不到的,比如说完备的运行时间测量性能,直接地发送信号或者消息到任务,任务可以同时等待多个内核对象等。

2023-11-26 15:18:13 1005 1

原创 数字温度计

RTC (Real Time Clock) 是一种独立的定时器,可以提供时钟日历的功能。其结构包括一个连续计数的计数器,在相应的软件配置下,可以提供时钟日历的功能。它还包含用于管理低功耗模式的自动唤醒单元。在断电情况下,RTC仍可以独立运行,只要芯片的备用电源一直供电,RTC上的时间会一直走。其核心由一组可编程计数器组成,包括一个RTC预分频模块和一个32位的可编程计数器。

2023-11-25 11:55:32 891

原创 OLED屏显

SPI ( Serial Peripheral lnterface,串行外围设备接口)通讯协议,是Motorola公司提出的一种同步串行接口技术,是一种高速、全双工、同步通信总线,在芯片中只占用四根管脚用来控制及数据传输。其主要应用有EEPROM、Flash、RTC、ADC、DSP等。在本次实验中,我学习了OLED屏显和汉字点阵编码原理,使用STM32F103的SPI来显示自己的学号和姓名,显示AHT20的温湿度和左右滑动的长字符。

2023-11-19 22:34:38 91

原创 Ubuntu环境下汉字点阵

在本次实验中,我学习了汉字的区位码和机内码,点阵字库存储和一些点阵字库类型,以及如何利用区位码和汉字机内码获取文字,在Ubuntu环境下用c语言和opencv库让文字显示在图片上。在进行文本编写时,要注意文本的保存编码方式应选择ANSI,否则会乱码。

2023-11-19 18:40:48 73

原创 串口传输文件

在本次实验中,我们学习了用串口传输文件:将两台计算机通过USB转RS232模块和杜邦线连接起来,然后再用串口助手软件进行文件的传输。在传输过程中,我们发现传输文档速度较快,并且文档内的文字内容打开可读;而传输图片速度较慢,更改后缀名后打开文件发现图片存在失真的情况。传输的文件越大,传输时间也就越长。

2023-11-19 12:05:25 141

原创 I2C协议读取温湿度数据

本次实验学习了有关I2C总线通信协议,软件I2C和硬件I2C的相关知识,实现了用AHT20采集温湿度并通过串口发送到上机位。本次实验让我受益匪浅,学习到了很多新知识。

2023-11-13 17:27:54 136

原创 STM32定时器PWM模式

1.TIM定时器可以对输入的时钟进行计数,并且在计数值达到设定值时触发中断。(定时器实际上就是一个计数器)2.STM32定时器是拥有16位计数器,预分频器,自动重装寄存器的时基单元,在72MHZ计数时钟下可实现最大59.65s定时(若对72MHZ计72个数,那就是1MHZ即1us的时间)。(1)计数器是用来执行计数定时的一个寄存器,每来一个时钟,计数器加1;(2)预分频器可以对计数器的时钟进行分频,让这个计数更加灵活;(3)自动重装寄存器就是计数的目标值,即想要计多少个时钟申请中断。

2023-11-04 21:42:33 117 1

原创 基于中断模式和DMA模式的STM32串口通信

在传输数据量比较大时,如果采用中断方式,每收发一个字节的数据,CPU都会被打断,造成CPU无法处理其他事务。因此在批量数据传输,通信波特率较高时,建议采用DMA模式。

2023-10-31 16:20:42 120 1

原创 STM32串口通信

本次实验主要学习了串口协议和RS-232标准,RS232电平与TTL电平的区别,"USB/TTL转232"模块的工作原理。利用STM32MX结合keil,使用HAL库来完成USART串口通信中断,完成STM32系统给上位机(win10)连续发送“hello windows!”,win10采用“串口助手”工具接收并观察波形。

2023-10-26 20:04:52 197

原创 基于HAL库的流水灯

用HAL库来控制流水灯相对来说简单一些,在STM332CubeMX里配置好参数,会自动生成一个keil项目工程,此时我们只需要在keil里编写部分部分必要代码即可。

2023-10-22 14:31:29 40 1

原创 STM32标准库下LED流水灯

本次实验用标准外设库的方式通过GPIO口来控制LED灯。GPIO的工作模式有八种,我们在使用过程中可根据实际情况选择合适的工作模式;AHB外设时钟控制的函数是使能或失能AHB外设时钟;在点灯过程中,我们需要用到GPIO_Init函数来初始化GPIO端口,然后用输出或输入的函数控制GPIO口。

2023-10-14 12:26:59 204 1

原创 Ubuntu、stm32下的C程序中堆、栈、全局、局部等变量的分配地址

本次实验重温了全局变量、局部变量、静态变量、堆、栈的知识,加深了对C程序的内存分配的认识,学习了在Ubantu和ATM32下C程序的分配地址。栈区向低地址扩展,堆区向高地址扩展。

2023-10-06 20:20:03 44 1

原创 GCC生成静态库和动态库

在学习了“用gcc生成静态库和动态库.pdf”和“静态库.a与.so库文件的生成与使用.pdf”之后,掌握了一些有关gcc静态库和动态库的知识,两者之间有类似的地方,并且当静态库和动态库同名时,优先使用动态库。

2023-10-06 14:48:24 90 1

原创 STM32F103C8T6LED流水灯

以 STM32最小系统核心板(STM32F103C8T6)+面板板+3只红绿蓝LED 搭建电路,使用GPIOA、GPIOB、GPIOC这3个端口控制LED灯,轮流闪烁,间隔时长1秒。(1)写出程序设计思路,包括GPIOx端口的各寄存器地址和详细参数;(2)用C语言寄存器方式编程实现,代码须有详细注解;(3)STM32最小系统核心板子出厂时已经焊接好了1个led灯(标注了PC13处),一般可通过此灯的点亮让编程者验证自己烧录的代码是否正常运行了。

2023-10-04 12:29:01 748

原创 STM32和C51单片机下的LED灯

在本次作业中,我学习和了解了Keil和Proteus的一些基本应用。在做一个简单的LED灯时,C51比STM32更简单,STM32相对C51来说,比较难理解,需要学习的东西也更多。

2023-09-24 18:12:14 100 2

原创 Ubuntu系统下使用gcc和makefile进行C语言的编译

1.用vim创建main.c,sub.c,sub.h三个文件。2.在文件里进行main.c主程序,sub.c子程序和sub.h头文件的编译。3.用gcc -c sub.c命令将sub.c程序转为目标文件sub.o。4.用gcc main.c sub.o -o main命令将main.c文件编译为目标文件main.o,然后和sub.o目标文件链接起来生成可执行文件main。5.最后执行./main命令编译生成。

2023-09-15 17:53:26 130 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除