- 博客(4)
- 收藏
- 关注
原创 结构体 联合体合并使用笔记
在读写DRV8711芯片寄存器的时候,同一个寄存器地址,不同的位代表不同的功能,为了简化操作,相同地址的功能用一个联合体value(uint_16)定义,在联合体内,对不同的位的寄存器进行长度定义,因此,结构体的内存大小等于所有成员变量大小之和,而联合体的内存大小等于最大成员变量的大小。总结: 结构体中每个成员变量都占用一定的存储空间,联合体的所有成员变量共享同一块内存空间。对结构体成员变量的赋值和访问是分别的,而对联合体的成员变量的赋值和访问是相互影响的。
2024-03-14 14:30:27
220
原创 定时器和PWM学习笔记
定时器初始化.采用STM32F105的PC6配置TIM3, PD12配置TIM4TIM3部分(1)根据STM32F105数据手册发现,PC6需要重映射,开启定时器功能(2)TIM_Period:这个参数代表的是定时器的自动重装载值(Auto-reload value)。当定时器的计数值达到这个值时,定时器就会产生一个中断或更新事件。(3)TIM_Prescaler:这个参数代表的是定时器的预分频值(Prescaler value)。它决定了定时器的时钟频率被分频的倍数。
2024-03-13 16:39:57
636
原创 裸机移植Lettershell
在shell_port.c中,User_Shell_Write函数调用串口发送函数即可,User_Shell_Read为串口接收函数,User_Shell_Init函数就是注册以上两个读写函数,并且在初始化的位置调用User_Shell_Init();5.在设定的串口中断里面调用shellHandler(&shell, data);,并且新增shell_port.c、shell_port.h两个文件,用于实现自己的接口函数。(在User文件夹下新建letter_shelll文件夹)下载后的源码如下,将\。
2024-01-26 14:43:00
593
3
原创 时间片改为FreeRTOS
(2) 添加#include "FreeRTOS.h" #include "task.h" 和下列函数。总结: 缺啥补啥 (主要是缺失文件的问题,每次移植可能缺失的文件都不一样.)heap-4.c路径: \FreeRTOS\port\MemMang。将FreeRTOS文件夹复制到目标工程文件夹。FreeRTOSConfig.h文件复制。(1)将重复定义的注释(注释掉原本的)(3).补全缺失的文件到工程中。时间片改为FreeRTOS。2.重新编写main函数。
2024-01-26 14:13:38
356
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人