OpenEdv-开源电子网

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

请教字符串显示问题(实验10 TFTLCD显示实验)

[复制链接]

10

主题

32

帖子

0

精华

新手上路

积分
33
金钱
33
注册时间
2011-10-26
在线时间
10 小时
发表于 2011-10-26 23:43:39 | 显示全部楼层 |阅读模式
函数:void LCD_ShowChar(u16 x,u16 y,u8 num,u8 size,u8 mode)中的num是字符串的起始地址,不明白这个起始地址和数组怎么对应起来的。比方说"A”对应数组asc2_1206[33]
  • ,为什么不是对应34行或其他行?
  • 正点原子逻辑分析仪DL16劲爆上市
    回复

    使用道具 举报

    46

    主题

    1579

    帖子

    1

    精华

    金牌会员

    Rank: 6Rank: 6

    积分
    1970
    金钱
    1970
    注册时间
    2011-7-17
    在线时间
    4 小时
    发表于 2011-10-27 00:07:26 | 显示全部楼层
    回复【楼主位】dby12:
    ---------------------------------
    我也表示很不解,原子是用指针来调出数组里的点阵数据的,但根据原理,指针是储存地址,那 OLED_ShowString(63,48,"CODE:"); 
    这句后面的“CODE:”被调用之后就直接根据''单引号中的字符所对应的ASCII码在数组中寻址了,除非数组是按照ASCII码的顺序编写,不然就寻不到对应地址,哥自写了一个,但数组寻址那里死也弄不出正确数据来,哥表示也很不解。
    Time?And?Relative?Dimension?In?Space.
    回复 支持 反对

    使用道具 举报

    530

    主题

    11万

    帖子

    34

    精华

    管理员

    Rank: 12Rank: 12Rank: 12

    积分
    165537
    金钱
    165537
    注册时间
    2010-12-1
    在线时间
    2117 小时
    发表于 2011-10-27 00:59:32 | 显示全部楼层
    就是对应的!!!
    这个你就要了解内码了.
    我的数组是从空格开始,对应所有ASCII的内码.空格的内码是32,那么任何其他ASCII字符,我只要知道内码,就可以找到其点阵数据了.
    比如A,对应的ASCII内码是65.那么他的点阵对应在我数组里面的第:65-32=33个元素组.也就是asc2_1206[33][];
    我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
    正点原子STM32开发板购买店铺http://openedv.taobao.com
    正点原子官方微信公众平台,点击这里关注“正点原子”
    回复 支持 反对

    使用道具 举报

    10

    主题

    32

    帖子

    0

    精华

    新手上路

    积分
    33
    金钱
    33
    注册时间
    2011-10-26
    在线时间
    10 小时
     楼主| 发表于 2011-10-27 07:35:04 | 显示全部楼层
    回复【3楼】正点原子:
    ---------------------------------
    为什么要减去32呢?直接对应ASCII码不就行了?
    回复 支持 反对

    使用道具 举报

    530

    主题

    11万

    帖子

    34

    精华

    管理员

    Rank: 12Rank: 12Rank: 12

    积分
    165537
    金钱
    165537
    注册时间
    2010-12-1
    在线时间
    2117 小时
    发表于 2011-10-27 08:47:49 | 显示全部楼层
    回复【4楼】dby12:
    ---------------------------------
    那你可以自己做一个直接ASCII的.我做的是从' '开始.所以要减去32.如果你从NULL开始,则可以直接内码寻址.
    我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
    正点原子STM32开发板购买店铺http://openedv.taobao.com
    正点原子官方微信公众平台,点击这里关注“正点原子”
    回复 支持 反对

    使用道具 举报

    10

    主题

    32

    帖子

    0

    精华

    新手上路

    积分
    33
    金钱
    33
    注册时间
    2011-10-26
    在线时间
    10 小时
     楼主| 发表于 2011-10-27 09:14:37 | 显示全部楼层
    回复【5楼】正点原子:
    ---------------------------------
    刚刚看代码明白了。原来里面有一句“num=num-' '”原来一直不明白这句什么意思。现在知道是NUM-32。呵呵。不过还是不明白*p指针不是应该指向字符串的内存起始地址么,怎么会变成ASCII码?有语句转换么?
    回复 支持 反对

    使用道具 举报

    530

    主题

    11万

    帖子

    34

    精华

    管理员

    Rank: 12Rank: 12Rank: 12

    积分
    165537
    金钱
    165537
    注册时间
    2010-12-1
    在线时间
    2117 小时
    发表于 2011-10-27 09:41:45 | 显示全部楼层
    回复【6楼】dby12:
    ---------------------------------
    自己动脑经想.
    不再解释.
    我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
    正点原子STM32开发板购买店铺http://openedv.taobao.com
    正点原子官方微信公众平台,点击这里关注“正点原子”
    回复 支持 反对

    使用道具 举报

    10

    主题

    32

    帖子

    0

    精华

    新手上路

    积分
    33
    金钱
    33
    注册时间
    2011-10-26
    在线时间
    10 小时
     楼主| 发表于 2011-10-27 15:08:10 | 显示全部楼层
    回复【7楼】正点原子:
    ---------------------------------
    明白了。p是地址;*p是地址里面的数据。
    回复 支持 反对

    使用道具 举报

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

    本版积分规则



    关闭

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

    正点原子公众号

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

    GMT+8, 2025-6-14 20:44

    Powered by OpenEdv-开源电子网

    © 2001-2030 OpenEdv-开源电子网

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