STM32F03C8T6
文章平均质量分 96
学习STM32相关原理:LED、USART、TIM等,原理与实践结合。
474459
这个作者很懒,什么都没留下…
展开
-
基于stm32f103c8t6、spi协议驱动oled读取AHT20温湿度、显示学号以及显示滚动字符
SPI 协议是由摩托罗拉公司提出的通讯协议,即串行外围设 备接口,是一种高速全双工的通信总线。它被广泛地使用在 ADCLCD等设备与MCU间, 要求通讯速率较高的场合。SPI设备之间采用全双工模式通信,是一个主机和一个或者多个从机的主从模式。主机负责初始化帧,这个数据传输帧可以用于读与写两种操作,片选线可以从多个从机选择一个来响应主机的请求。SPI通讯使用3条总线及片选线,3条总线分别为SCKMOSIMISO,片选线为从设备选择信号线,常称为片选信号线,也称为NSS。原创 2023-11-20 18:39:15 · 1577 阅读 · 1 评论 -
Stm32f103c8t6 基于stm32CubeMX、HAL库实现的LED流水灯,以及中断控制流水灯工作状态
1. 对比之前的寄存器开发流水灯、库函数开发版本,HAL库开发效率大幅度提高,只需要在stm32cubeMX的UI界面进行操作,很快的就能配置好所需内容,之前的寄存器开发需要去查找手册每个寄存器的作用,需要知道如何设寄存器才能有对应的效果,库函数开发相比寄存器开发效率提高了很多,我们不需要知道寄存器的作用,官方通过库函数封装起来了,只需要调用对应的库函数就能完成操作,相比之下开发效率更高,而且方便记忆。原创 2023-10-19 23:36:00 · 3121 阅读 · 2 评论 -
基于stm32f103c8t6、HAL库定时器控制灯亮灭&&PWM实现呼吸灯
STM32 的定时器功能十分强 大,有 TIME1和TIME8等高级定时器,也有等通用定时器,还有TIME6和 TIME7 等基本定时器。三种定时器功能如下:STM32 的通用定时器是一个通过可编程预分频器(PSC)驱动的16位自动装载计数器(CNT) 构成。STM32的通用定时器可以被用于:测量输入信号的脉冲长度输入捕获或者产生输出波 形(输出比较和PWM)等。使用定时器预分频器和RCC时钟控制器预分频器,脉冲长度和波形 周期可以在几个微秒到几个毫秒间调整。原创 2023-11-05 22:37:06 · 2793 阅读 · 0 评论 -
ubuntu中调用Opencv4版本在图片中显示文字
在Ubuntu下用C/C++(或python) 调用opencv库编程显示一张图片,并打开一个名为"logo.txt"的文本文件(其中只有一行文本文件,包括你自己的名字和学号),按照名字和学号去读取汉字24*24点阵字形字库(压缩包中的文件HZKf2424.hz)中对应字符的字形数据,将名字和学号叠加显示在此图片右下位置。通过此次实验,了解到汉字的区位码、国标码的编码方式,掌握了汉字在内存中是如何存储,不同的点阵方式,以及如何通过opencv库显示文字。汉字的机内码是指在计算机中表示一个汉字的编码。原创 2023-11-20 18:22:37 · 142 阅读 · 1 评论 -
Keil4与Proteus联合仿真实现流水灯实验&&STM32实现通过寄存器实现流水灯
stm32采用的是Cortex-M3处理器,32位操作系统,具有:32位寄存器、32位内部数据通路以及32位总线接口。那么其寻址能力就是2^32bit=4GCortex-M3采用的是哈佛计算机结构,即数据、指令分开存储,具有数据存储器和指令存储器其最大4G的地址分配如下:将4GB的大小分为代码区0.5GB、SRAM0.5GB、外设0.5GB、外部存储器RAM1G、外部设备 1G和私有外设0.5GB。原创 2023-09-24 18:31:55 · 6155 阅读 · 3 评论 -
Ubuntu、STM32下的C程序中堆、栈、全局、局部等变量的分配地址,对比分析
1. 通过此次实验,知道了c语言在stm32和ubuntu中的变量、堆栈的地址分配2. 为了达到最大利用率,向下增长的Stack更好3. 对堆栈的认识更加深刻c++学习(一)常量 全局变量 局部变量 静态变量 外部变量_局部常量和全局常量-CSDN博客堆(Heap)、栈(Stack)_heap stack_Lingoesforstudy的博客-CSDN博客【c语言】—动态内存分配 超详细版本-CSDN博客。原创 2023-10-07 01:05:35 · 389 阅读 · 1 评论 -
基于HAL库的stm32f103c8t6 串口通信实验(DMA方式)
DMA,直接存储器访问,是一种完全由硬件执行数据交换的工作方式。它由DMA控制器控制在存储器和存储器,存储器和外设之间的批量数据传输。DMA 传输方式无需 CPU 直接 控制传输,也没有中断处理方式那样保留现场和恢复现场的过程,通过硬件为 RAM 与 I/O 设备 开辟一条直接传送数据的通路,能使 CPU 的效率大为提高。DMA能够直接不占用CPU任何资源,直接将存储器和外设连接,让二者相互访问。STM32 最多有 2 个 DMA 控制器(DMA2 仅存在大容量产品中),DMA1 有 7 个通道。原创 2023-10-31 17:21:41 · 2808 阅读 · 2 评论 -
基于stm32f103c8t6和AHT20-21的IIC协议温湿度采集
IIC(Inter-总线是一种由PHILIPS公司开发的两线式串行总线,用于连接 微控制器及其外围设备。它是由数据线 SDA和时钟SCL构成的串行总线,可发送和接收数据。在 CPU与被控IC之间、IC与IC之间进行双向传送。I2C 总线在传送数据过程中共有三种类型信号, 它们分别是:开始信号、结束信号和应答信号。开始信号:SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据。结束信号:SCL为高电平时,SDA由低电平向高电平跳变,结束传送数据。接收数据的。原创 2023-11-08 23:50:58 · 1230 阅读 · 3 评论 -
基于HAL库的stm32f103c8t6 串口通信实验(中断方式)
1. 通过该实验,完成了中断方式的串口通信,掌握了中断串口方式配置的流程,还有一些中断的函数。2. 实验结果分析:从实物效果,通过串口调试助手的方式,和我们设想的目标一样,当发送start时,开始通信,发送stop时,单片机就停止给PC机发送信息。实物效果还是很明显的。通过仿真的方式,查看仿真输出,的确是和我们的结果是一样的。那么可以判断其时序图也是正确的,但是在这上面不好看出具体的某一个字符。原创 2023-10-31 17:23:28 · 2311 阅读 · 1 评论 -
基于固件库的STM32 LED流水灯
根据上面的步骤,首先是需要时钟使能,在配置STM32外设的时候,任何时候都要先使能该外设的时钟,GPIO是挂载在APB2总线的外设。原创 2023-10-11 19:06:38 · 666 阅读 · 1 评论 -
基于STM32F03C8TC读取RTC日历、温湿度显示在OLED屏上
STM32的RTC外设(),实质是一个掉电后还继续运行的定时器。从 定时器的角度来说,相对于通用定时器 TIM外设,它十分简单,只有很纯粹的计时和触发 中断的功能;但从掉电还继续运行的角度来说,它却是 STM32中唯一一个具有如此强大功能的外设。所以 RTC外设的复杂之处并不在于它的定时功能,而在于它掉电还继续运行的特性。RTC是一个独立的定时器。STM32的RTC模块拥有一组连续计数的计数器,在相应软件配置下,可提供时钟日历的功能。修改计数器的值可以重新设置系统当 前的时间和日期。原创 2023-11-23 13:27:13 · 1628 阅读 · 0 评论 -
两台PC通过USB转TTL互传文件
总结: 两台电脑可以通过usb转ttl来传输文件,该文件可以是图片、视频、文件等,传输的时间根据传输波特率有关,且可以根据波特率来推出传输时间,但是实际传输时间因为丢失、重传、排序错乱等现象时间更加长。对比我们平时用qq、wx等方式传输文件,通过usb转ttl的传输速度是十分man的。电脑间串口连接传输文件-CSDN博客。原创 2023-11-20 18:29:43 · 597 阅读 · 1 评论 -
基于HAL库的stm32f103c8t6 串口通信实验(查询方式)
HAL_UART_Transmit是HAl库中的UART接口的数据发送函数,用于将指定长度的数据发送到UART端口。该函数是调用底层的HAL_UART_Transmit_IT或者HAL_UART_Transmit_DMA函数实现,可以实现中断或者DMA方式发送。该函数有四个参数第一个参数是串口结构体,指明是哪个串口,如UART1第二个参数是8bit位的的数据第三个参数是指明发送数据的长度大小第四个参数规定发送的时间,如果超时还没有发送完成,则返回超时标志(HAL_TIMEOUT)原创 2023-10-26 20:33:15 · 4596 阅读 · 1 评论 -
基于stm32f103C8T6移植uc/OS-III实时操作系统
uC/OS 是一个免费公开源代码、结构小巧、具有可剥夺实时内核的实时操作系统。它分为uC/OS-II 和uC/OS-III 两个版本。uC/OS-II 是一个实时操作系统内核,仅包含任务调度、任务管理、时间管理、内存管理和任务间的通信和同步等基本功能。uC/OS-III 是一个可升级的、可固化的、基于优先级的实时内核,它对任务的个数无限制,并且支持现代的实时内核所期待的大部分功能,例如资源管理、同步、任务间的通信等。原创 2023-11-26 17:19:00 · 1725 阅读 · 1 评论