STM32——DMA知识点及实战总结 DMA,全称Direct Memory Access,即直接存储器访问。DMA传输 将数据从一个地址空间复制到另一个地址空间。注意:DMA传输无需CPU直接控制传输。
STM32——OLED实验 OLED,即有机发光二极管OLED引脚说明引脚说明:1、CS:OLED片选信号(低电平有效)2、WR:向OLED写入数据3、RD:向OLED读取数据4、D[7:0]:8位双向数据线,有8个引脚,每个引脚传一位数据5、RST(RES):硬复位OLED(低电平有效)6、DC:数据/命令标志(0,命令;1,数据)
STM32——电容触摸按键充电时间测量实验 无手指触摸:上电时,电阻作用下,电容Cs进行充电,直到电容充满,这时候会有一个充电时间Tcs。有手指触摸:上电时,电阻作用下,电容Cs和Cx进行充电,电容充满时间会变长,得到充电时间Tcx。注意:充电过程可以看成是一个信号从低电平变为高电平的过程。STM32认为高电平的最低电压值(1.8V)、
STM32——高级定时器输出比较模式实验 1,配置定时器基础工作参数 HAL_TIM_OC_Init()2,定时器PWM输出MSP初始化 HAL_TIM_OC_MspInit() 配置NVIC、CLOCK、GPIO等3,配置PWM模式/比较值等 HAL_TIM_OC_ConfigChannel()4,使能通道预装载 __HAL_TIM_ENABLE_OCxPRELOAD()5,使能输出、主输出、计数器 HAL_TIM_OC_Start()
FreeRTOS——内存管理知识总结及实战 动态创建:从FreeRTOS 管理的内存堆中申请创建对象所需的内存,在对象删除后,这块内存释放回FreeRTOS管理的内存堆中静态创建:需用户提供各种内存空间,并且使用静态方式占用的内存空间一般固定下来了,即使任务、队列等被删除后,这些被占用的内存空间一般没有其他用途。
freertos——任务通知知识总结与任务通知模拟及信号量实验、消息邮箱实验、事件标志组实验 任务通知:用来通知任务的,任务控制块中的结构体成员变量 ulNotifiedValue就是这个通知值,不需要另外创建一个结构体可以直接接受别人发过来的通知。
FreeRTOS——互斥信号量知识总结及其实战 1)互斥信号量:是一个拥有优先级继承的二值信号量,在同步的应用中二值信号量最适合。互斥信号量适合用于那些需要互斥访问的应用中!2)优先级继承:当一个互斥信号量正在被一个低优先级的任务持有时, 如果此时有个高优先级的任务也尝试获取这个互斥信号量,那么这个高优先级的任务就会被阻塞。不过这个高优先级的任务会将低优先级任务的优先级提升到与自己相同的优先级。3)互斥信号量有任务优先级继承的机制, 但是中断不是任务,没有任务优先级, 所以互斥信号量只能用与任务中,不能用于中断服务函数。
FreeRTOS——计数型信号量知识总结及实战 1)计数型信号量相当于队列长度大于1 的队列,因此计数型信号量能够容纳多个资源2)适用场景:事件计数:当每次事件发生后,在事件处理函数中释放计数型信号量(计数值+1),其他任务会获取计数型信号量(计数值-1) ,这种场合一般在创建时将初始计数值设置为 0。资源管理:信号量表示有效的资源数目。任务必须先获取信号量(信号量计数值-1 )才能获取资源控制权。当计数值减为零时表示没有的资源。当任务使用完资源后,必须释放信号量(信号量计数值+1)。信号量创建时计数值应等于最大资源数目。
FreeRTOS——信号量知识点总结及二值信号量实战 1)信号量的计数值都有限制:限定最大值。如果最大值被限定为1,那么它就是二值信号量;如果最大值不是1,它就是计数型信号量。2)当计数值大于0,代表有信号量资源当释放信号量,信号量计数值(资源数)加一当获取信号量,信号量计数值(资源数)减一3)信号量用于传递状态。