OpenEdv-开源电子网

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

将51程序移植到32中遇到的数组问题??求教了

[复制链接]

22

主题

109

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
367
金钱
367
注册时间
2015-5-28
在线时间
0 小时
发表于 2015-9-3 19:26:47 | 显示全部楼层 |阅读模式
5金钱
51程序移植到32上 不好使,找了好久的毛病,找到了,可是自己却不知道如何改。。

在51程序里我用1602显示  显示函数为
lcd_1602_word(unsigned char Adress_Com,unsigned char Num_Adat,unsigned char *Adress_Data);
/*1602字符显示函数,变量依次为字符显示首地址,显示字符长度,所显示的字符*/

在main函数中 
uchar View_Data[3];
View_Data[0]=(60000/Xintiao_Jishu)/100+0x30;
View_Data[1]=(60000/Xintiao_Jishu)%100/10+0x30;  
View_Data[2]=(60000/Xintiao_Jishu)%10+0x30;
lcd_1602_word(0xcd,3,View_Data);

将其移植到32中 我是这样写的
显示函数原型为
//显示字符串
//x,y:起点坐标
//width,height:区域大小  
//size:字体大小
//*p:字符串起始地址
void LCD_ShowString(u16 x,u16 y,u16 width,u16 height,u8 size,u8 *p)
在main函数中是这样写的

u8 View_Data[3];
while(1)
{
   View_Data[0]=(6000/x)/100;
  View_Data[1]=(6000/x)%100/10;
  View_Data[2]=(6000/x)%10;
  LCD_ShowString(30,110,200,16,16,View_Data);
  LCD_ShowString(30,130,200,12,12,"2014/5/4");

}
可是烧录后,屏幕上除了显示2014/5/4外就没有别的了??


最佳答案

查看完整内容[请看2#楼]

因为你的View_Data里面的数据根本就不是ASCII字符。 你先搞明白什么是数字,什么是ASCII,再来做,就简单了。
再不玩命努力,你就老了
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-9-3 19:26:48 | 显示全部楼层
因为你的View_Data里面的数据根本就不是ASCII字符。

你先搞明白什么是数字,什么是ASCII,再来做,就简单了。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

22

主题

109

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
367
金钱
367
注册时间
2015-5-28
在线时间
0 小时
 楼主| 发表于 2015-9-3 19:27:32 | 显示全部楼层
该如何修改呀?蒙圈了
再不玩命努力,你就老了
回复

使用道具 举报

14

主题

338

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
464
金钱
464
注册时间
2013-6-15
在线时间
15 小时
发表于 2015-9-3 19:50:12 | 显示全部楼层
u8 View_Data[4];
View_Data[3] = ‘\0’;
回复

使用道具 举报

22

主题

109

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
367
金钱
367
注册时间
2015-5-28
在线时间
0 小时
 楼主| 发表于 2015-9-3 20:58:05 | 显示全部楼层
亲 没明白
能麻烦你具体写下吗 ?谢谢了
再不玩命努力,你就老了
回复

使用道具 举报

22

主题

109

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
367
金钱
367
注册时间
2015-5-28
在线时间
0 小时
 楼主| 发表于 2015-9-3 21:39:53 | 显示全部楼层
顶一下  顶一下
再不玩命努力,你就老了
回复

使用道具 举报

22

主题

109

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
367
金钱
367
注册时间
2015-5-28
在线时间
0 小时
 楼主| 发表于 2015-9-3 22:20:32 | 显示全部楼层
回复【6楼】正点原子:
---------------------------------
那 原子哥 在战舰屏幕上如何将数字 转化为ASCII呀?有啥资料推荐下呗
再不玩命努力,你就老了
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-9-3 23:15:52 | 显示全部楼层
回复【7楼】逍遥居士_888:
---------------------------------
你知道数字和ascii的区别以后,很容易就找到方法。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

22

主题

109

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
367
金钱
367
注册时间
2015-5-28
在线时间
0 小时
 楼主| 发表于 2015-9-3 23:46:03 | 显示全部楼层
回复【8楼】正点原子:
---------------------------------
原子哥 我知道您给我的是 渔  而不是鱼。。

可是刚才查查 还是没弄懂呀,麻烦您给些具体的资料吧
再不玩命努力,你就老了
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-9-3 23:46:45 | 显示全部楼层
回复【9楼】逍遥居士_888:
---------------------------------
先自行研究三天。
别总想 不劳而获,学不扎实的
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-9-3 23:47:18 | 显示全部楼层
三天后,还不知道,你直接电话我
我和你聊聊怎么学习。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-9-3 23:50:11 | 显示全部楼层
还没搞两下,就想放弃了,这样怎么能学好啊!!
一个你让我帮你解决,不是什么问题。
问题是论坛现在4W个注册会员,就算1%的人像你这样,换你做我这个工作,一天你还有时间做其它事情么?
然后,这个时候,你有什么想法?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-9-3 23:51:59 | 显示全部楼层
所以,我现在基本都是能授之以渔的,就尽量授之以渔。
所谓贪得无厌,顺手的事情做多了,就成了习惯。。。

然而,我是越来越累。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-9-3 23:53:40 | 显示全部楼层
偶尔遇到要我验证的,除非级别比较高(论坛回复数很多,经常帮人解决问题的),这类朋友,我可以画几个小时,甚至一天帮他解决问题(请不要问我为什么,因为这种人才是论坛的未来)。

但是对于主题数比回复数还多的人,我帮顶会比较多(因为已经无力吐槽了),此类人,可有可无。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-9-3 23:54:28 | 显示全部楼层
当然,你的级别还算不错,至少主题数比回复数少,还是要感谢你的。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-9-4 00:00:12 | 显示全部楼层
论坛是学习知识,相互交流的地方,学会学习的方法,远比得到答案重要的多。
所以,有问题的朋友:
1,先搜索论坛。
2,在搜索百度。
3,都找不到,再来提问,提问的时候做好问题说明,和你自己所做的努力和尝试,可还是没能找到答案。

如此,说明你这确实是一个自己能力所不能解决的问题,是真心寻求解答的。而不是伸手要答案的伸手党。

我们尊重前者,鄙视后者。

最后,论坛有:提问的智慧

建议伸手党们,先拜读一下:http://www.openedv.com/posts/list/7245.htm
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

22

主题

109

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
367
金钱
367
注册时间
2015-5-28
在线时间
0 小时
 楼主| 发表于 2015-9-4 00:22:13 | 显示全部楼层
回复【15楼】正点原子:
---------------------------------
刚刚弄懂了想告诉下你   
没想到 原子哥你就回复了  嘿嘿
ASCII表中 0对应的是0x30  依次

其实这个关于这个论坛回复问题我心里早就有想法 原计划是想过几天整理好后和您说下的。。

那就现在谈谈我的拙见把

我也是刚毕业,买板子很久了  这个号是我新号,以前的号忘记了。
念书时遇到不会的  先百度,然后论坛查,实在不行再提问,提问大多数是您回答或者仅仅是那几个人。那时候心里心里不得劲,为啥论坛很久以前的老人不回复那。
这次毕业工作了,发现事情好多呀,(前段时间还说要隔2天发次总结帖,可是各种事),还有帮你是情分不帮你是本分,为了生计等等原因  有的老人不经常来论坛了
这也不怪大家,人嘛,没有利益能长久坚持的太少了。好比我一样,工作用32,才再次仔细玩命学。。

上面说了一些原因,现在说说 拙见
我个人感觉 原子哥这个论坛规矩不好,怎么说那,在论坛里,解决问题靠的是  大家自觉,可是,谁能坚持长久那?

我个人认为原子哥你应该规划下论坛规则 用“利益”吸引老人解答问题,像百度知道那样
好比  刚注册的新号  给多少  元宝。。
 怎么赚元宝
发主题提问需要悬赏元宝
分享自己的成果 由大家点赞或者管理员确认后 给多少元宝(这样防止刷元宝) 大家下载需要花元宝
感觉百度知道那个规则就不错。
有多少个元宝 是什么级别  当达到一定级别可以用元宝换取点劵 在淘宝店里当钱用,当然这个标准您订。

天下熙熙皆为利息。

我对咱这个论坛挺有感情的,那个师生情。希望咱们论坛不要像21ic电子网那个死了。。。。。  


晚安
再不玩命努力,你就老了
回复

使用道具 举报

30

主题

705

帖子

1

精华

新手上路

积分
21
金钱
21
注册时间
2013-3-14
在线时间
52 小时
发表于 2015-9-4 09:21:34 | 显示全部楼层
u8 View_Data[3]={0x30,0x31,0x32};
while(1)
{
  LCD_ShowString(30,110,200,16,16,View_Data);
  LCD_ShowString(30,130,200,12,12,"2014/5/4");
}
这样就能显示“012”。
楼主可以百度搜索一下ASCII对照表,看下16进制和字符的对应关系。
以后显示字符就不会再迷茫了。
原子哥是不是又要出黑科技了呀。^_^...
回复

使用道具 举报

22

主题

109

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
367
金钱
367
注册时间
2015-5-28
在线时间
0 小时
 楼主| 发表于 2015-9-4 10:26:54 | 显示全部楼层
回复【18楼】fanghuiopenedv:
---------------------------------
谢谢 已经弄懂了  嘿嘿
再不玩命努力,你就老了
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-17 02:18

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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