STM32F4+SRAM+FREERTOS+DMA+JPEG串口图传

功能描述:基于正点原子探索者开发板的串口图传,将十六进制图片通过串口传输到单片机并通过LCD显示(使用FREERTOS)

一、使用STM32cubeMX生成初始化代码

1、时钟配置:使用HSE时钟,并配置HCLK为最大工作时钟

2、打开调试线,并选择时基为TIM1

3、使能FREERTOS,选取CMSIS_V2,内存管理选择HEAP5,其他选项保持默认

4、配置SRAM选项和时序:

 5、配置LCD

 6、设置LCD背景灯开关和一个LED

7、配置串口,开启DMA选择循环模式,串口的接收引脚选择上拉输入,防止重复进入串口空闲中断,开启USART1全局中断

8、启用JPEG库,STM32F4只能使用软件解码

 

 9、DMA的初始化应该在串口的初始化之前

二、生成代码并编辑,这里使用VSCODE+OPENOCD调试,所以生成makefile工程

        1、首先重定向串口,可以使用printf输出到串口,在usart.c中编辑如图,并修改makefile

 

2、设定FREERTOS堆区域,HEAP5管理方式可以管理不连续的RAM空间,将SRAM交由FREERTOS管理,这样就可以使用更大的RAM空间:

4、在stm32f4xxx_it.c中添加一些自己的中断处理函数

3、主要代码编辑在freertos.c,其他代码上传在附件,并附加注释。

4、代码烧录到STM32开发板以后,复位打开串口调试助手,输出操作系统信息

 5、使用vscode的hexdump插件,采用16进制查看图片信息:

6、复制到将所有十六进制数据转换为一行,并复制到串口调试助手,点击发送,发送完毕以后,串口会输出图片的信息,并将图片显示在LCD屏幕上

 

代码链接:正点原子探索者+FREERTOS+SRAM+JPEG+LCD显示图片-硬件开发文档类资源-CSDN下载

版权声明:本文为CSDN博主「Crys\」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_33931911/article/details/122818334

生成海报
点赞 0

Crys

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

MDK 分散加载文件剖析(一)

1、何为分散加载? 1.1 简介 分散加载就是我们开发者能指定你的 代码 或者 数据变量 到指定的内存空间中运行。通知链接器把程序的某一部分连接在存储器的某个地址空间,我们可以通过编写一个分散加载文件来指定 ARM

笔记3:STM32F103与STM32F030的区别

在替换芯片时,发现STM32f103与STM32F030的区别: 内部结构 下图是103的IO口内部结构: 下图是030的IO口内部结构图: 通过上面的比较可以看出: 两个

2、STM32点亮LED灯

一、寄存器操作 1、新建工程,新建一个目录存放以后所有的工程stmproject,在这个目录下新建文件夹寄存器点灯,文件名为LED。 接下来选择所用的软件包,之前安装软件时安装的&#xff

【零基础学STM32】CubeMx+HAL配置按键点灯实验

主要内容 上一篇文章中采用了EXTI中断的方式控制小灯的亮灭。其实也可以不采用中断,直接使用GPIO配置即可实现按键对应小灯的状态,且效果几乎相同。同样本次例程试验采用正点原子阿波罗STM32F429IGT6开发板