找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1422|回复: 2
打印 上一主题 下一主题
收起左侧

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

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

屏幕截图 2024-04-04 172314.png (59.24 KB, 下载次数: 88)

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

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

屏幕截图 2024-04-04 184633.png (54.42 KB, 下载次数: 86)

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

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

屏幕截图 2024-04-04 172849.png (17 KB, 下载次数: 98)

这是OLED_ShowChar函数

这是OLED_ShowChar函数

屏幕截图 2024-04-04 172141.png (50.39 KB, 下载次数: 83)

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

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

kkkkk.zip

3.72 MB, 下载次数: 1

出问题的源代码

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
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 单片机教程网

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