野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9939|回复: 4

LCD显示字符函数不能显示串口接收的字符

[复制链接]
发表于 2015-11-19 13:19:43 | 显示全部楼层 |阅读模式
本帖最后由 SysTick 于 2015-11-19 13:22 编辑

QQ截图20151119131717.png LCD_DispChar()这个函数能显示‘A’这样的字符,但是现实str_Buff程序就跑飞了
QQ截图20151119132101.png
it.png
回复

使用道具 举报

 楼主| 发表于 2015-11-19 13:23:39 | 显示全部楼层
用LCD_DisNum()就能显示这个数组的内容,但是是ascii值。如果用LCD_DispChar(),仿真的时候R14寄存器就溢出了。求救求救求救
回复 支持 反对

使用道具 举报

发表于 2015-11-19 15:14:29 | 显示全部楼层
SysTick 发表于 2015-11-19 13:23
用LCD_DisNum()就能显示这个数组的内容,但是是ascii值。如果用LCD_DispChar(),仿真的时候R14寄存器就溢出 ...

看不出来有什么错误,你在中断里退出中断前再把中断标志清理一下
你试试用lcd_disstring 显示字符串的那个函数试试?难道是LCD_DispChar函数不正常?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-11-19 16:08:17 | 显示全部楼层
flyleaf 发表于 2015-11-19 15:14
看不出来有什么错误,你在中断里退出中断前再把中断标志清理一下
你试试用lcd_disstring 显示字符串的那 ...

谢谢。已经解决这个问题了。是因为LCD_DispChar()里面有一句 i = ascii - ' ';ascii是传进来的字符。但是如果在接收到字符之前,str_Buff数组里面是0;' '的ascii值是32.所以0-32就为负了。LCD_DispChar()里面有一句temp = asc2_1206;就导致数组下标为负,所以程序就跑飞了
回复 支持 反对

使用道具 举报

发表于 2015-11-19 17:09:41 | 显示全部楼层
SysTick 发表于 2015-11-19 16:08
谢谢。已经解决这个问题了。是因为LCD_DispChar()里面有一句 i = ascii - ' ';ascii是传进来的字符。但是 ...

如来是这个函数的问题,
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2025-1-11 02:31 , Processed in 0.032948 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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