基于stm32f103的多路ADC采集,将采集的电压传入到DMA设定的内存中,在通过均值滤波得到比较准确的数据
1
利用 串口+DMA+IDLE中断+无锁队列,提高串口接收效率 接收会产生的中断有三种: - 串口空闲中断:正常接收(小于 dma 设置的 buffer_size 时) - DMA传输完成中断:刚好为 dma 设置的 buffer_size 时,不过一般也不会出现, 如果出现了的话也应该增加缓冲区大小 - DMA的半传输中断:(这里没有用到,如果内存有限制可以自行开启) 注意: - 环形队列的缓冲区要设置为 2 的幂次方的大小 - 串口中断一般可以设置为最低优先级,因为是 DMA后台自动接收的, 所以中断优先级最低并不会丢失数据 - 用户缓存 buff_read 可以随意设置,没有限制,但为了节省内存, 一般小于等于 DMA 的接收缓存 usart_buff_rx
2022-10-19 14:03:59 7KB stm32 串口通信 队列
1
基于STM32写的外设到外设的dma传输程序,方便移植,已测试完毕
2022-10-18 18:00:16 7.28MB stm32dma STM32F103 dma DMA外设到外设
1
stm32f103运行FreeRTOS实现串口DMA发送和DMA不定长接收。 驱动OLED屏和空气检测传感器PMS5003ST.
2022-10-10 17:41:35 557KB stm32 USART(DMA) 不定长接收
1
对应我的博客《Zedboard学习(五)----Linux下调试dma驱动》,主要是对于Zynq Linux DMA 的字符设备驱动代码与测试代码,可以帮助学习Zynq平台的嵌入式开发。
2022-10-10 14:16:59 3KB zynq Linux dma
1
采用STM32F429IGT6单片机,KeilMDK5.32版本 使用SysTick系统滴答定时器进行延时 LED_R、LED_G、LED_B分别位PH10,PH11,PH12 USART1,波特率115200,无校验位,1位停止位 PA9->TX,PA10->RX,开启TC和IDLE中断 仿printf发送,DMA式收发数据 串口空闲中断触发后,在中断服务函数中重新填写DMA的剩余传输数据数量寄存器的值,保证下一次接收数据是从串口接收缓冲区的第一个字节接收 配备了CRC校验,使用CRC-32(以太网)多项式:0x4C11DB7 KEIL5下载配置有FLASH与SRAM
2022-10-07 16:28:10 598KB stm32 c语言
1
压缩包是基于MDK5 V5.06 HAL库版本的源文件,带项目文件可以直接编译调试。 主要功能是使用STM32F030F4P6单片机通过LORA1278进行串口DMA数据收发透传。需要的下载可以参考,也欢迎技术交流。
2022-10-01 10:30:36 12.39MB LORA SX1278 SX1276 串口DMA透传
1
采用STM32F103C8T6单片机,KeilMDK5.32版本 ADC1开启3个规则通道,转换序列为:通道0(PA0),通道1(PA1),通道2(PA2) 在规则通道每个通道转换完成之后,DMA负责将转换的数据从ADC_DR寄存器传输到用户指定的目的地址 开启3个注入通道,转换序列为:通道0(PA0),通道1(PA1),通道2(PA2) 注入通道触发选择为自动注入(当规则通道的所有通道转换完成之后开始转换注入通道) 开启注入转化完成中断。 注入转换完成之后在注入通道转换完回调函数中串口输出转换的数据
2022-09-24 16:08:51 16.57MB stm32 源码软件 arm 嵌入式硬件
1
pg021_axi_dma_PG021_中文翻译.pdf
2022-09-21 16:02:14 2.48MB zynq xilinx dma 官方文档
1