OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 7662|回复: 6

【汉字显示】【指针】多次调用显示汉字的函数之后汉字显示乱码问题

[复制链接]

1

主题

5

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2015-8-20
在线时间
2 小时
发表于 2015-12-16 13:27:46 | 显示全部楼层 |阅读模式
5金钱

小弟使用原子哥的Show_Str函数显示汉字,使用原来的字库,使用指针传递要显示的内容。

使用过程中,前几次操作没问题,多次操作后就会出现汉字显示为乱码(其实也不算是乱码,类似方块的显示)

附上函数和出现问题的图片,求各位指点。

对了,开发板用的是精英STM32F103ZET6开发板。
[mw_shl_code=c,true]void LCD_Button(u16 sx,u16 sy,u16 ex,u16 ey,u16 r,u16 color,u16 ncolor,u8* str,u8 width) { u16 wx,wy,temp; u8* name; name=(u8*)mymalloc(SRAMIN,200); name=str; temp=POINT_COLOR; wx=sx+(ex-sx-width)/2; wy=sy+(ey-sy-16)/2; LCD_FillRound(sx,sy,ex,ey,r,color); POINT_COLOR=ncolor; Show_Str(wx,wy,width,16,name,16,1); myfree(SRAMIN,name); POINT_COLOR=temp; }[/mw_shl_code]



正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

27

主题

711

帖子

0

精华

版主

Rank: 7Rank: 7Rank: 7

积分
12208
金钱
12208
注册时间
2015-11-5
在线时间
2116 小时
发表于 2015-12-16 14:55:20 | 显示全部楼层
你是跑了系统吧?如果多个任务里都有调用写屏幕操作的话,一定要给这个操作加一个互斥锁,否则在1任务写屏过程当中,有可能被2任务抢占并执行另一个写屏操作,最后返回1任务时就错乱了,我的解决方法就像刚才说的那样,加个互斥锁,类似打印机那样排队等待获取写屏幕的权限
拿来长岛冰茶换我半晚安睡
回复

使用道具 举报

1

主题

5

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2015-8-20
在线时间
2 小时
 楼主| 发表于 2015-12-16 22:58:08 | 显示全部楼层
回复【2楼】FreeRTOS:
---------------------------------
应该不是这个问题,并没有其他写屏幕的中断。我重复点上十几次就会出现这个问题。
不过直接调用显示文字的函数没有问题,我觉得是这个函数的问题。可能传递过程中这个指针出了什么错。
回复

使用道具 举报

42

主题

358

帖子

0

精华

高级会员

Rank: 4

积分
889
金钱
889
注册时间
2014-8-16
在线时间
193 小时
发表于 2015-12-17 09:52:15 | 显示全部楼层
字库读取出错了,以前出现过这种情况,不知道是不是跟我的一样。检查一下读字库的部分吧。
回复

使用道具 举报

1

主题

5

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2015-8-20
在线时间
2 小时
 楼主| 发表于 2015-12-17 10:02:47 | 显示全部楼层
回复【4楼】Theone:
---------------------------------
不清楚,读字库部分是用的Get_HzMat(font,dzk,size);这个函数,理论上没理由前面几次读没错,到后面就出错呀。
回复

使用道具 举报

1

主题

374

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1321
金钱
1321
注册时间
2014-7-23
在线时间
420 小时
发表于 2015-12-17 18:34:12 | 显示全部楼层
你更新一下字库试一下罗
回复

使用道具 举报

42

主题

358

帖子

0

精华

高级会员

Rank: 4

积分
889
金钱
889
注册时间
2014-8-16
在线时间
193 小时
发表于 2015-12-19 09:46:27 | 显示全部楼层
回复【5楼】井底观天:
---------------------------------
这部分你关掉中断试试,不要让打断
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-25 21:42

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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