自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 FreeRtos入门(五)

队列的作用是实现任务与任务、任务与中断之间的通信以及信息的传递,任务与任务、任务与中断传递的数据保存到队列中称为队列项目。队列中会保存有限个、大小不变的数据。队列包含若干个数据,队列中有若干项,这成为队列的长度。创建队列时要包括队列长度和数据大小。数据的操作采用先进先出方法(FIFO,First In First Out):写数据时放到尾部,读数据时从头部读。队列是多任务访问的,任何任务都可以向队列发送数据,也可以从队列读取数据。

2023-10-07 13:25:02 51

原创 FreeRtos入门(四)

将多任务系统比做成一个团队,每一个任务就相当于一个团队成员,团队成员要沟通(通信)、协调工作任务(同步)、争抢会议室开会(互斥)。看一段伪代码假设有A、B两人抢厕所,A先行一步占用了;B慢了一步,于是就眯一会;当A用完后叫醒B,B也愉快地上厕所。在这个过程中,A、B是互斥地访问“厕所”,“厕所”被称为临界资源。我们使用了“休眠-唤醒”的同步机制实现了“临界资源”的“互斥访问”。同一时间只能有一个人使用的资源,被称为临界资源。比如任务A、B都要使用串口来打印,串口就是临界资源。

2023-10-07 09:14:35 51 1

原创 FreeRtos入门(三)

对于单片机裸机而言,系统的主体是main函数,CPU按照main函数的代码依次执行各种操作。使用Rtos时,我们可以根据要求和功能的不同,将系统分成多个任务,每个任务都有自己的栈和TCB(Thread Control Block线程控制模块 控制着线程的运行和调度)。调度的最小单位是任务,任务可以理解为线程或者独立且无法返回的函数。

2023-10-06 19:08:32 73 1

原创 FreeRtos入门(二)

FreeRtos内存管理函数有两种,分别是pvPortMalloc以及vPortFree,对应于C语言的malloc和free函数。源码中对应5个文件,对应内存管理的5个方法。碎片化问题介绍。

2023-10-04 20:44:24 371 1

原创 FreeRtos入门(一)

ARM芯片是精简指令集计算机(RISC:Reduced Instruction Set Computure),特点如下:1.对内存仅有读和写两种操作,计算由CPU进行。2.使用RISC的CPU不复杂,易于设计。对于指令a=a*b而言,需要四步操作。第一步从内存中取出a的值;第二步从内存中取出b的值;第三步CPU执行a*b的计算;第四步将a*b的值放回内存。提出问题 1.从内存哪里取出a和b?2.a*b计算后放回内存哪里?

2023-10-03 15:25:11 28

原创 入门STM32单片机自学笔记(十六)

WDG( Watchdog )看门狗可以监控程序的运行状态,当程序因为设计漏洞、硬件故障 、电磁干扰等原因,出现卡死或跑飞现象时,看门狗能及时复位程序,避免程序陷入长时间的罢工状态,保证系统的可靠性和安全性。看门狗本质上是一个定时器,当指定时间范围内,程序没有执行喂狗(重置计数器)操作时, 看门狗硬件电路就自动产生复位信号。STM32 内置两个看门狗:独立看门狗(IWDG):独立工作, 对时间精度要求较低。窗口看门狗(WWDG): 要求看门狗在精确计时窗口起作用。

2023-10-02 00:23:58 30 1

原创 入门STM32单片机自学笔记(十五)

PWR(Power Control)电源控制负责管理STM32内部的电源供电部分,可以实现可编程电压检测器和低功耗模式。可编程电压检测器(PVD)可以监控VDD电源电压,当VDD下降到PVD阈值以下或VDD上升到PVD阈值以上时,PVD会触发中断,用于执行紧急关闭任务。低功耗模式包括睡眠模式(Sleep)、停机模式(Stop)以及待机模式(Standby),可在系统空闲时,降低STM32功耗,延长设备使用时间。

2023-10-01 21:30:30 42

原创 入门STM32单片机自学笔记(十四)

Unix时间戳就是一个永不进位的秒进数器。世界上所有地区都使用相同的秒计数器(即时间戳),不同的时区通过时间上的偏移得到当地时间(伦敦时间为标准时间,北京时间为东八区时间即时间增加8个小时,秒计数器为0时,伦敦时间为1970年1月1日0:0:0,北京时间向右偏移8个小时即为1970年1月1日8:0:0)。

2023-10-01 16:15:02 68

原创 入门STM32单片机自学笔记(十三)

SPI(Serial Peripheral Infarce 串行外设接口)共有四条通信线,SCK(串行时钟)、MOSI(主机输出从机输入)、MISO(主机输入从机输出)、SS(从机选择)。SPI通信是同步、全双工的通信方式。SPI支持总线挂在多设备(一主多从)。

2023-10-01 01:25:14 34

原创 入门STM32单片机自学笔记(十二)

I2C是一种通用的数据总线,共有两根通信线(SCL、SDA)。I2C是一种同步、半双工、带有数据应答以及支持总线挂载多设备(一主多从、多主多从)。

2023-09-28 18:22:48 56

原创 入门STM32单片机自学笔记(十一)

通信:将一个设备的数据传到另一个设备中,扩展硬件系统。通信协议:制定通信的规定,通信双方按照制定的规则进行数据收发。1.全双工与半双工全双工:通信双方都可以发送和接受数据,且通信双方可同时发送数据。半双工:通信双方都可以发送和接受数据,但通信双方不可同时发送数据。2.异步与同步同步通信:有公共时钟,所有设备按统一的时序进行信息传输。异步通信:没有公共时钟,没有固定的传输周期,采用应答方式通信。3.单端电平与差分电平单端电平:引脚电平与GND的电平差传输数据,引脚需要共地。

2023-09-23 14:11:48 226 1

原创 入门STM32单片机自学笔记(十)

DMA(直接存储器存取),DMA可以实现外设与存储器或存储器与存储器之间的高速数据传输,无需CPU的干预,节省CPU的资源。DMA有12个独立可配置通道:DMA1(7个通道)以及DMA2(5个通道)。每个通道都支持软件触发和特定的硬件触发。

2023-09-22 15:58:49 40 1

原创 入门STM32单片机自学笔记(九)

1.ADC可以将连续变化的模拟量转换为内存中存储的数字变量,建立模拟电路与数字电路的桥梁。2.STM32中的ADC转换器是12位逐次逼近型ADC,1us的转换时间,12位代表该ADC的分辨率(量化结果范围)为0-4095,1us的转换时间代表其转换频率为1MHz。输入电压范围为0-3.3V,转换结果范围为0-4095。3.18个输入通道,16个外部信号源(16个GPIO口)以及2个内部信号源(内部温度传感器和内部参考电压)。4.STM32单片机ADC具有规则组和注入组两个转换单元。

2023-09-21 00:15:21 43

原创 入门STM32单片机自学笔记(八)

Encoder Interface 编码器接口编码器接口接收增量(正交)编码器的信号,根据编码器产生的正交信号脉冲,自动控制CNT自增或自减,用以指示编码器的位置、旋转方向和旋转速度。高级定时器和通用定时器都有一个编码器。编码器的两个输入占用了输入捕获的通道一和通道二。

2023-09-20 17:14:46 39 1

原创 入门STM32单片机自学笔记(七)

输入捕获模式下,当通道输入引脚出现指定电平跳变(上升沿或下降沿)时,CNT的值将被锁存到CCR中,用于测量PWM波形的频率、占空比、脉冲间隔、电平持续时间等参数。配置为PWMI(PWM的输入模式)模式,可以同时测量频率与占空比。配置为主从触发模式,实现硬件全自动测量。

2023-09-20 00:41:54 41 1

原创 入门STM32单片机自学笔记(六)

输出比较通过比较CNT(计数器)和CCR(捕获比较寄存器)的关系,对输出波形进行置1、置0或翻转的操作,用于输出一定频率和占空比的PWM波形。PWM波形主要用于驱动电机。OC-Output Compare 输出比较IC-Input Capture 输入捕获CCR-Capture Compare Register 捕获比较寄存器。

2023-09-19 12:28:17 126

原创 入门STM32单片机自学笔记(五)

内部时钟72MHz通过触发控制器到达时基单元。PSC预触发器根据值来进行分频,赋值为0进行1分频即72/1=72MHz,赋值为1进行2分频即72/2=36MHz。自动重装载寄存器中存入目标值,内部时钟信号上升沿到达时,计数器加1,当计数器从0开始计数,计数达到目标值时,定时时间到,申请中断,计数器清零,此时会产生更新中断和更新事件,更新中断通完NVIC,配置好NVIC,CPU响应更新中断,完成定时中断任务。主模式触发DAC该模式可以使硬件不受程序控制的情况下自动运行。

2023-09-17 23:44:57 85 1

原创 入门STM32单片机自学笔记(四)

中断:在主程序运行过程中,出现特定的中断触发条件(中断源),使得CPU暂停当前正在运行的程序,转而处理中断程序,处理完成后又返回原来暂停的地方继续运行。中断优先级:当面对多个中断源同时请求时,CPU会根据中断源的轻重缓急进行裁决,优先响应更加紧急的中断源。中断嵌套:当一个中断程序正在运行时,有更高优先级的中断源申请中断,CPU再次暂停当前中断程序,转而去处理新的中断程序,处理完成后依次返回。

2023-09-17 13:25:43 109 1

原创 入门STM32单片机自学笔记(三)

OLED:有机发光二极管OLED屏:供电3.3-5V 通信协议:I2C/SPI 分辨率:128*644针脚OLED的SCL与SDA引脚是I2C通信协议的引脚7针脚OLED的DO、D1、RES、DC、CS引脚是SPI通信协议的引脚若为GPIO口模拟的通信协议,则可以接在任意的GPIO口。

2023-09-16 16:23:22 205

原创 入门STM32单片机自学笔记(二)

按键按下导通、松手断开按键抖动:在按键按下或者松手的瞬间会伴随一段抖动消抖方法:延时将抖动时间耗过去即可。

2023-09-16 13:36:48 94

原创 入门STM32单片机自学笔记(一)

5.开漏输出:一种数字输出,数据选择器选择输出数据寄存器控制输出,输出高电平为高阻态,低电平为零。7.复用开漏输出:一种数字输出,数据选择器选择片上外设控制输出,输出高电平为高阻态,低电平为零。6.推挽输出:一种数字输出,数据选择器选择输出数据寄存器控制输出,输出高电平为一,低电平为零。8复用推挽输出:一种数字输出,数据选择器选择片上外设控制输出,输出高电平为一,低电平为零。3.下拉输入:一种数字输入,内部连接下拉电阻,引脚悬空默认为低电平。寄存器引脚输出为1 端口为高电平。输入模式-读取端口的高低电平。

2023-09-16 00:37:31 121

空空如也

空空如也

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

TA关注的人

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