
Stm32
stm32
R1CHIE_L
这个作者很懒,什么都没留下…
展开
-
Stm32 串口波特率的切换
如果串口发送了若干个字节后,从一个波特率切换至另一个波特率的时候,应该要延时一会,否则刚刚串口发送的最后一个字节可能会有错误原创 2020-07-14 11:58:00 · 1807 阅读 · 0 评论 -
stm32 空闲接收中断不好的地方
空闲接收中断的原理就是在一个字节时间内如果没有收到数据,那么就认为传输结束并触发中断。这个我认为非常依赖于对方的发送时间,如果另一个设备在发送的时候,稍微延时了一点点,就会出现数据接收不完整。建议还是使用定时器模式来接收不定长的数据。 ...原创 2020-07-11 16:49:00 · 445 阅读 · 0 评论 -
Stm32设置串口300波特率
本文以串口4为例子: 在APB1为72MHz的时钟频率下,是设置不了300波特率的,原因在于 Tx/Rx baud = fck / (16 * reg_value) ,reg_value是写进USART_BRR寄存器里。 比如我们要设置300波特率, reg_value = 72000000/ (16 * 300) = 15000,虽然能计算出来,但注意,USART_BRR的...原创 2020-07-11 13:46:00 · 1167 阅读 · 0 评论 -
STM32F103ZET6移植FreeRTOS过程
1. 下载FreeRTOS https://sourceforge.net/projects/freertos/files/FreeRTOS/ 一般下载V9.0.0版本比较稳定。 2. 解压 我们需要几个文件 1)在FreeRTOSv9.0.0/FreeRTOS/Source/下的所有C文件(PS:并不是所有都一定要用,按需要取 2)在FreeRTOSv9.0.0/Fre...原创 2020-07-06 23:01:00 · 683 阅读 · 0 评论 -
Stm32 调试时发生HardFault_Handler
一般发生这种情况可能是内存越界操作或堆栈溢出。 排查方法: 1.查看LR的值 首先要查看R14(LR)的值,确定当前堆栈指针是MSP还是PSP。 LR = 0xFFFFFFF9 为主堆栈(MSP),LR = 0xFFFFFFFD为线程堆栈(PSP)。 图中为0xFFFFFFF9,即MSP主堆栈。 2.根据MSP或PSP找到返回地址 MSP的值为0x200017C8,查看这个地址 ...原创 2020-08-25 10:03:00 · 849 阅读 · 0 评论 -
stm32 外部SRAM的初始化及使用
初始化和使用都比较简单 void FSMC_SRAM_Init(void) { FSMC_NORSRAMInitTypeDef FSMC_NORSRAMInitStructure; FSMC_NORSRAMTimingInitTypeDef p; GPIO_InitTypeDef GPIO_InitStructure; RCC_AHBPeriphClock...原创 2020-11-13 09:25:00 · 1637 阅读 · 0 评论