![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
stm32
文章平均质量分 56
stm32 学习
zzwinds
这个作者很懒,什么都没留下…
展开
-
stm32 对uart的封装
hal库的uart驱动用起来不太顺手,因此对ll库的uart驱动重新封装,基本流程是将要发送的数据保存到发送fifo,通过发送完成中断驱动发送过程,通过接收完成中断将接收到的数据保存到接收fifo,应用程式查询并读取接收fifo的内容从而完成接收过程封装是对各个uart独立处理的,下文以uart1举例。定义fifo结构体typedef struct{ uint32_t write; uint32_t read; uint8_t *buf;}uart_fifo_t;定义发送,接收fifo:原创 2021-02-09 11:36:04 · 566 阅读 · 0 评论 -
stm32 手工创建带FreeRTOS的Keil工程
创建新工程,选择设备勾选CMSIS->CORE, Device->Startup配置工程勾选Use MicroLIB编译器设置:连接器设置:建立文件夹和拷贝文件,其中Core(系统文件),Drivers(HAL,LL驱动),Middlewares(FreeRTOS文件)为使用CubeMX创建工程时生成的文件夹,按需拷贝。app为应用程序目录Core\Inc 最小目录文件Core\Src 最小目录文件工程配置编译器设置项inclu原创 2021-02-08 22:17:58 · 892 阅读 · 0 评论 -
stm32 bootloader 跳转到app
一 相关配置.bootloader和应用程序代码划分 应用程序中断向量表 二 bootloaderbootloader具体功能不详述,最主要的是跳转到应用程序。主要有2点:1. 跳转前,将应用程序的栈顶指针保存到MSP寄存器,应用程序的栈顶指针为地址0x08004000所对应的内容2. 跳转到应用程序的复位向量(0x08004004)#define APP_ADDR 0x08004000typedef void (*func_app)(void);vol..原创 2021-02-08 18:24:46 · 2078 阅读 · 0 评论