STM32
文章平均质量分 91
指针到处飞
努力成为抽象派
展开
-
STM32F407移植LVGL基于RT-Thread和无操作系统版本
LVGL移植前言:本次LVGL移植分为有操作系统和无操作系统两种方式。操作系统使用的是硬件使用野火STM32F407霸天虎开发板,屏幕使用nt35510显示IC,触摸使用gt917s芯片。原创 2023-04-15 00:23:38 · 3827 阅读 · 1 评论 -
STM32UART三种收发模式基于HAL库
解决办法:可以通过判断空闲中断标志位来确定数据是否收发完毕,进入空闲中断处理数据。发送完成中断与接收完成中断是收发指定数量的字节后进入中断,不能收发随机字节数据。当发送一半或者发送完成可以使用中断回调函数处理中断事件。当接收一半或者接收完毕可以使用中断回调函数处理中断事件。DMA与中断的使用方式相同。发送一个字符进入一次中断。UART中断发送模式。UART中断接收模式。原创 2023-03-17 11:30:11 · 795 阅读 · 0 评论 -
VSCode+gcc开发STM32教程
最近在使用Keil开发STM32的时候总感觉代码写起来很很费劲,然后打算用vscode试试,刚开始用的是KeilAssitance这个插件,本质还是使用Keil进行配置,vscode写代码,体验了一下感觉还是不方便。后来想到了Linux,毕竟在写代码这方面,Linux的体验还是非常棒的。原创 2023-03-05 20:49:23 · 4627 阅读 · 6 评论 -
STM32学习笔记-SPI
通过写 SPI 的“本成员设置 SPI 的通讯方向,可设置为双线全双工 (SPI_Direction_2Lines_FullDuplex),双线只接(SPI_Direction_2Lines_RxOnly),单线只接收 (SPI_Direction_1Line_Rx)、单线只发送模式(SPI_Direction_1Line_Tx)。这是 SPI 的 CRC 校验中的多项式,若我们使用 CRC 校验时,就使用这个成员的参数 (多项式),来计算 CRC 的值。CHPA:时钟相位,CHPA=0,奇数边沿采样。原创 2023-03-01 18:21:24 · 1170 阅读 · 0 评论 -
RT-Thread内核学习笔记
在裸机系统中所有代码都运行在一个main函数中,只能按照顺序运行程序,当遇到中断时才会打断当前程序,用以提高系统的实时性。如果遇到软件延时等情况,CPU只能在那空转,大大浪费了CPU的性能。而多线程是多个独立且无法返回的函数,就好比有多个裸机系统的main函数同时运行。如果把裸机系统比做单车道,那么多线程就是多车道。原创 2023-03-01 13:34:13 · 497 阅读 · 0 评论 -
C语言查漏补缺(进阶)volatile、__attribute__、void*、地址对齐、$$Super$main
最近在学习RT-Thread,在看其源码的时候发现了许多自己不太了解的C语言知识点,在此查漏补缺一下。原创 2023-03-01 13:33:01 · 1625 阅读 · 1 评论 -
STM32学习笔记-DMA
**DMA(Direct Memory Access, 直接存储区访问)**,用于**外设与存储器**之间、**存储器与存储器**之间的高速数据传输。其最主要的特点是**不占用CPU资源**。当我们需要将一个外设的数据转存到存储器中时,我们可以通过CPU读取外设数据并向存储器发送。当程序越来越庞大,功能越来越多的时候,这样直接使用CPU传输数据的方式就不太合适了。原创 2023-03-01 13:17:05 · 3695 阅读 · 0 评论 -
STM32学习笔记-USART串口通信+与野火STM32F407板载ESP8266进行通信
USART全称,即同步异步收发器。与学习51时的UART不同的是UART名称中少了个S,即没有同步收发功能。原创 2023-02-28 11:04:42 · 4988 阅读 · 7 评论 -
STM32学习笔记-I2C通信协议
两根通信线SCL(时钟线)、SDA(数据线)同步半双工,支持总线挂载多设备。原创 2023-02-26 19:52:04 · 5242 阅读 · 1 评论 -
RT-Thread移植到STM32F407
首先到rtthread官网下载rt-thread nano后解压解压后打开后内容如下各文件夹的作用如下:拷贝一份到Keil工程的工程根目录下,示例工程采用野火STM32F407霸天虎的使用固件库点亮LED灯的代码,示例代码可以去野火官网下载。bsp里面存放了不同板子的示例,我们只需要保留和这两个配置文件即可,其他的均可删除docs存放了移植教程的地址,可以删掉libcpu里存放与处理器相关的接口文件,因为本次是移植到STM32F407,所以我们只需要保留``libcpu/arm/cortex-m4`这一个文原创 2023-02-23 14:38:30 · 5150 阅读 · 14 评论 -
STM32学习-NVIC、EXTI、SysTick
形参 ticks 用来设置重装载寄存器的值,最大不能超过重装载寄存器的值 2 24,当重装载寄存器的值递减到 0 的时候产生中断,然后重装载寄存器的值又重新装载往下递减计数,以此循环往复。计芯片的时候会对 Cortex-M4 内核里面的 NVIC 进行裁剪,把不需要的部分去掉,所以说 STM32的 NVIC 是 Cortex-M4 的 NVIC 的一个子集。NVIC 是嵌套向量中断控制器,控制着整个芯片中断相关的功能,它跟内核紧密耦合,是内核里面的一个外设。4是与门,当中断屏蔽寄存器为0时可以屏蔽中断。原创 2023-02-23 14:34:48 · 1093 阅读 · 0 评论
分享