找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 242|回复: 2
收起左侧

请教一个问题,困扰几天了 调用OLED_Char导致USART通讯也乱了

[复制链接]
ID:1092152 发表于 2024-4-4 17:42 | 显示全部楼层 |阅读模式
用的板子是STM32F407ZGT6,源代码是用的江科大老师的,源代码没有问题。我做的改变就是将ascall码数组存进w25q64中,要用的时候取出数组。单个的使用或者连续调用OLED_ShowChar函数没有问题,但一旦放进循环里面就会出错。弄了几天,各种办法也试过了,就是会出错。恳求大佬们指教
//一般OLED只会显示第一个字符

调用OLED_ShowChar后USART出错(发送的数字跟OLED_ShowChar中的字符有关,会一起变化,而且for循环不能结束

调用OLED_ShowChar后USART出错(发送的数字跟OLED_ShowChar中的字符有关,会一起变化,而且for循环不能结束

试了好多别的字符,大部分都是直接结束

试了好多别的字符,大部分都是直接结束

这是OLED_ShowChar函数

这是OLED_ShowChar函数

这个是未调用OLED_ShowChar函数时,USART发送正常

这个是未调用OLED_ShowChar函数时,USART发送正常

kkkkk.zip

3.72 MB, 下载次数: 1

出问题的源代码

回复

使用道具 举报

ID:1092152 发表于 2024-4-5 09:33 | 显示全部楼层
解决了,在Show_Char函数内部定义一个局部变量,把传进来的X坐标赋值给它,然后使用局部变量是正常的。难道是X在经过一次计算后内存被释放了,导致值变了?
回复

使用道具 举报

ID:1092152 发表于 2024-4-6 09:32 | 显示全部楼层
原来是在showchar函数里面定义了一个data作为数组的起始地址,却没有给予长度,导致数据覆盖了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表