
STM32F103C8T6
文章平均质量分 97
-HSheng
这个作者很懒,什么都没留下…
展开
-
STM32基于HAL库的嵌入式RTOS多任务程序设计
UCOS是Micrium公司出品的RTOS类实时操作系统, UCOS目前有两个版本:UCOSII和UCOSIII。UCOSIII是一个可裁剪、可剥夺型的多任务内核,而且没有任务数限制,提供了实时操作系统所需的所有功能,包括资源管理、同步、任务通信等。UCOSIII是用C和汇编来写的,其中绝大部分都是用C语言编写的,只有极少数的与处理器密切相关的部分代码才是用汇编写的, UCOSIII结构简洁,可读性很强!非常适合初次接触嵌入式实时操作系统学生、嵌入式系统开发人员和爱好者学习。原创 2023-11-22 22:54:16 · 363 阅读 · 0 评论 -
STM32日历读取,设置和输出——实时时钟RTC
实时时钟。RTC是个独立的定时器。RTC模块拥有一个连续计数的计数器,在相应的软件配置下,可以提供时钟日历的功能。修改计数器的值可以重新设置当前时间和日期 RTC还包含用于管理低功耗模式的自动唤醒单元。在断电情况下 RTC仍可以独立运行 只要芯片的备用电源一直供电,RTC上的时间会一直走。RTC实质是一个掉电后还继续运行的定时器,从定时器的角度来看,相对于通用定时器TIM外设,它的功能十分简单,只有计时功能(也可以触发中断但其高级指出也就在于掉电之后还可以正常运行。原创 2023-11-22 13:33:39 · 1638 阅读 · 0 评论 -
STM32基于SPI的OLED显示
SPI,是英语Serial Peripheral interface的缩写,顾名思义就是串行外围设备接口。是Motorola首先在其MC68HCXX系列处理器上定义的。SPI接口主要应用在 EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议。原创 2023-11-15 18:54:28 · 2431 阅读 · 3 评论 -
STM32基于HAL库的IIC协议读取温湿度
I2C总线是一种双向的同步串行总线,它支持设备之间的短距离通信,经常用于处理器和一些外围设备之间的接口通信。I2C总线的标准通信速率是100Kbps,快速模式是400Kbps,高速模式支持3.4Mbps。I2C总线支持多设备的通信,而且各个设备之间的SCL和SDA线都是线与关系。I2C总线上扩展的器件的数量主要由电容负载来决定,其负载能力为400pF。I2C总线具有极低的电流消耗。通过本次实验,详细了解并且实践了I2C总线协议,以及AHT20温湿度传感器的使用,受益匪浅。原创 2023-11-09 09:25:21 · 2319 阅读 · 1 评论 -
STM32基于HAL库的定时器&PWM应用编程
能够对内部时钟信号或外部输入信号进行计数,数值达到设定要求时,向CPU发起中断请求,完成外部程序的运行。本质就是进行计数,选择内部时钟脉冲,作为计数器时,技术信号的来源选择非周期脉冲信号。STM32中定时器可分为高级定时器、通用定时器、基本定时器三类,他们都是由一个可编程的16位预分频器(TIMX_PSC)驱动的16位。PWM(Pulse Width Modulation)即脉冲宽度调制,简称脉宽调制。它是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术;原创 2023-11-03 23:17:36 · 3501 阅读 · 0 评论 -
STM32—HAL库中断/DMA控制和完成串口通信
串口协议CH340电路与实物图:TXD:发送端,一般表示为自己的发送端,正常通信必须接另一个设备的RXD。RXD:接收端,一般表示为自己的接收端,正常通信必须接另一个设备的TXD。正常通信的时候本身的TXD永远接设备的RXD。/*huart:使用哪个串口进行通信data: 一个地址,用于保存接受到的数据Size: 接收的数据个数*/在调用此函数后,程序会将对应串口的接收中断开启,当我们向单片机发送数据时会触发这个中断。在触发这个中断后,程序会接收数据到你传入的地址中,会读取Size个数据。原创 2023-10-26 21:54:36 · 1898 阅读 · 0 评论 -
STM32使用HAL库中断控制串口通信
串口通讯(Serial Communication)是一种设备间非常常用的串行通讯方式,因为它简单、便捷,因此大部分电子设备都支持该通讯方式,电子工程师在调试设备时也经常使用该通 讯方式输出调试信息。在计算机科学里,大部分复杂的问题都可以通过分层来简化。如芯片被分为内核层和片上外设;STM32标准库则是在寄存器与用户代码之间的软件层。对于通讯协议,我们也以分层的方式来理解,最基本的是把它分为物理层和协议层。名称组成作用物理层具有机械、电子功能部分的特性,确保原始数据在物理媒体的传输协议层。原创 2023-10-22 20:05:57 · 4486 阅读 · 1 评论 -
STM32基于HAL库的中断控制LED流水灯
本人在前面已经使用了三种方式点亮LED了流水灯的情况下,又学会了利用中断来控制LED流水灯的场景。通过本次实验,本人学会了如何使用中断,以及温习加深了刚刚学会的HAL搭建工程的知识与操作!希望阅读本文的你也能通过本文章与我感受到一样的进步情感与乐趣!!!原创 2023-10-21 00:17:39 · 1667 阅读 · 1 评论 -
STM32使用HAL库点亮流水灯
STM32F103的流水灯点亮版本1(寄存器地址操作)_-HSheng的博客-优快云博客基于标准外设库的LED流水灯-优快云博客,本次又完成了基于STM32CubeMX(HAL库)的流水灯;本人已经熟练的完成了对于STM32利用三种方式开发STM32的流水灯。通过本次实验本人成功了解了并且学会了STM32CubeMX(HAL库)的使用方法以及利用其进行建立与开发STM32工程项目!原创 2023-10-19 21:19:47 · 862 阅读 · 1 评论 -
基于标准外设库的LED流水灯
本人大二参加过合泰杯单片机比赛,提前接触过了相关32位单片机:HT32F103系列的知识与操作,当时就是用的固件库对合泰单片机进行开发的;今日又重新温习类似的STM32固件库知识与操作,相当于对本人来说就是加深了我对于STM32固件库的学习理解与实践练习!对于利用keil进行仿真,本人倒是第一次接触学习keil仿真。通过亲自操作keil仿真,我学会了如何在keil上面进行仿真,以及如何在仿真里面观察GPIO端口的输出波形,时序状态以及高低电平转换周期。原创 2023-10-12 20:34:57 · 300 阅读 · 0 评论 -
STM32与Ubuntu下C语言程序内存分配等问题
重温了全局变量、局部变量、堆、栈的概念,并分别在Ubantu系统下与stm32中验证了理论,发现两者分配地址的方式有些许不同,这让我重新认识了内存分配,原来不是所有系统都用同一种方式分配内存。总的来说,栈和堆各有其适用的场景。栈适合用于管理函数调用和局部变量,速度快且生命周期短。堆适用于需要动态分配内存、生命周期不确定或较长的情况,但需要注意手动管理内存以避免内存泄漏。可以说两者各有利弊,我们应根据实际情况做出选择。原创 2023-10-05 01:28:22 · 142 阅读 · 0 评论 -
STM32F103的流水灯点亮版本1(寄存器地址操作)
实物图连接电路依旧不变,利用6.1连接好的电路图!本次实验巩固了前面我做的基础:点亮STM32LED灯的操作与知识,因为本次实验可以说是之前做的点亮一个STM32LED灯的升级版操作;进一步强化了我利用寄存器来进行编写程序的能力。本人这次也成功做出来了关于STM32红、黄和绿三个灯的Proteus仿真实验,真的非常高兴!!!原创 2023-09-27 23:53:29 · 884 阅读 · 1 评论 -
stm32通过寄存器方式利用GPIO端口点亮LED
本人通过这次简单的寄存器编写,了解了stm32寄存器编写代码原理;又在keil中学会了如何在keil对写好的STM32F103的代码进行仿真测试;最后在烧录进板子时,学会配置ST-link烧录环境,学会了如何将ST-link与电脑和单片机进行连接。看着最后已经在板子运行代码的效果:LED灯闪烁,心里很高兴。原创 2023-09-24 22:42:25 · 1461 阅读 · 1 评论