草庐IT

STM32CUbeMX 串口+DMA中断收发实验

串口配置: 异步,波特率:19200,每帧:1字节;无校验;1停止位   中断设置:考虑到后期使用freertos,可控制中断配置为:4位抢占优先级,15>=中断优先级级>=5(越低,优先级越高)   DMA设置:以字节为数据单位,内存地址累加生成工程文件: 在stm32f1xx_it.h 文件添加 #defineBUFFER_SIZE100externvolatileuint8_trx_len;//接收一帧数据的长度externvolatileuint8_trecv_end_flag;//一帧数据接收完成标志externuint8_trx_buffer[BUFFER_SIZE];//接收数据

ZYNQ基于DMA的串口传图

小梅哥的这个ZYNQ开发板上的DDR3位于PS侧,PL侧想要使用DDR3作为缓存的话,得通过HP接口来与PS侧的DDR3控制进行通信。本次实验在小梅哥OV5640工程的基础上,通过修改VDMA的S2MM端的模块而来的。将VMDA的帧缓存区设为1,关闭帧同步的功能后,其实和DMA差不多。一、需要自定义的ip核这里列出的为自己写的IP核。小梅哥的工程里还用到了其它的自定义的IP核,这里就不列出了。1、串口接收图像数据模块该模块调用了之前写的串口8位接收模块,详情可点击查看。此外,本模块还调用16位宽、深度为1024的带数据计数的普通FIFO核该模块主要的思想就是将接收到的两个8位的数据拼接位1个1

ZYNQ基于DMA的串口传图

小梅哥的这个ZYNQ开发板上的DDR3位于PS侧,PL侧想要使用DDR3作为缓存的话,得通过HP接口来与PS侧的DDR3控制进行通信。本次实验在小梅哥OV5640工程的基础上,通过修改VDMA的S2MM端的模块而来的。将VMDA的帧缓存区设为1,关闭帧同步的功能后,其实和DMA差不多。一、需要自定义的ip核这里列出的为自己写的IP核。小梅哥的工程里还用到了其它的自定义的IP核,这里就不列出了。1、串口接收图像数据模块该模块调用了之前写的串口8位接收模块,详情可点击查看。此外,本模块还调用16位宽、深度为1024的带数据计数的普通FIFO核该模块主要的思想就是将接收到的两个8位的数据拼接位1个1