• 2024-06-18ARM32开发——GD32F4中断向量查询
  • 2024-05-06STM32F1和STM32F4系列DMA的不同之处——对STM32的DMA的工作机制的一些理解
    喜欢用STM32的DMA功能。一方面STM32的DMA和MPU的DMA一样,可以提高数据传输效率。另一方面,作为一种MCU上的DMA,它可以提高针对外设(peripheral)的数据传输的实时性,改变了传统MCU只能用定时中断实现实时控制的方法。比较STM32F4和STM32F1系列的DMA控制器,可以发现区别主要有三:1)增加了DMA
  • 2024-04-11void usart_dma_init(void)
    voidusart_dma_init(void){GPIO_InitTypeDefGPIO_InitStructure;USART_InitTypeDefUSART_InitStructure;DMA_InitTypeDefDMA_InitStructure;NVIC_InitTypeDefNVIC_InitStructure;/*配置GPIO的模式和IO口*/RC
  • 2024-04-10GD32F470II的UART+DMA方式的使用笔记
    GD32官方给的DEMO真的是屎一样的存在,仅展示最基本简单的应用案例,拿到实际工程中参考性非常低,也就基本的配置过程具有有限的参考性。在这种环境下,使用UART+DMA的方式完全是瞎用,感觉能用的函数都给用上。UART&DMA配置如下:1/*!2\briefconfigureUSARTDMA3
  • 2024-03-01STM32标准库串口DMA空闲中断接收
    STM32标准库串口DMA空闲中断接收.md1.DMA配置(USART配置在USART中已实现,不再重复叙述)需要使用标准库头文件“stm32f10x_dma.h”DMA_InitTypeDefUsart_DMA;//定义DMA结构体 DMA_DeInit(DMA1_Channel5);//初始化DMA通道 Usart_DMA.DMA_BufferSize=256;//定义DMA缓存区
  • 2024-01-13DMA问题
    问题1主函数:1#include"stm32f10x.h"//Deviceheader2#include"Delay.h"4#include"DMA.h"5#include"Serial.h"79uint8_tarr[3];10intmain(void)11{12inta=0;13/*模块初始化*/1
  • 2023-12-31STM32F3系列 SPI通讯缺帧问题(基于LL库)
    STM32F3系列SPI通讯缺帧问题(基于LL库)芯片型号:STM32f303RBT6开发软件:MDK5&CubeMX&VSCode现象描述主机使用SPI-DMA中断发送数据,从机接收数据总是少3个数据(16bit)。错误原因主机SPI发送完成后,片选线拉高太快,导致从机片选消失,故最后几个数据没有接收到;错误图片:解决
  • 2023-08-13CH32V003在MRS中的初始化过程
    在MRS的默认配置中,在main函数执行之前,就已经执行了时钟的初始化配置程序,这部分程序被放在了一个名为system_ch32v00x.c的文件中,这个文件默认被加载到MRS的User目录下(可双击打开它)。在该文件中,最重要的一个函数就是SystemInit,它负责系统的初始化工作,其代码如下所示。 voidSyste
  • 2023-08-09startup_ch32v00x.S启动文件分析(上)
    引言CH32系列MCU是由南京沁恒(WCH)公司推出的一系列处理器芯片。引自官网:CH32V、CH32X、CH32L系列MCU采用自研的青稞RISC-V内核,基于蓬勃发展的RISC-V开源指令集架构,针对低功耗和高速响应等应用优化扩展,免费配套IDE等开发工具软件,免除第三方内核技术的授权费和提成费,通过内置和组
  • 2023-07-24Cortex M4 中断向量设置
    CortexM4中断向量表设置Keywords:CortexM4CM4Vectortable中断前言本文叙述了因Vectortable设置错误导致进入hardfault中断的问题,现象就是APP运行卡死。起因今天同事在app最前面加了固定大小的校验,然后将新的程序烧录之后,bootloader无法正常启动app,我对此问题比较感