指针问题求助

[复制链接]
 楼主| Metalor 发表于 2011-11-20 15:39 | 显示全部楼层 |阅读模式
uint8_t Lynn[]    = {"Lynn"};

void WriteString(uint8_t add,uint8_t *pData)
{
   WriteCom(0x80+add);
   while(*pData != '\0')
   {
       WriteData(0x30 + *pData);
       pData++;
   }
}

int main(void)
{
   ......
   WriteString(1,Lynn);
}

想用指针来传递数组的数据,老是不对,请帮忙分析分析~~
 楼主| Metalor 发表于 2011-11-20 19:03 | 显示全部楼层
lishutong 发表于 2011-11-20 19:47 | 显示全部楼层
楼主,怎么个不对法了?
 楼主| Metalor 发表于 2011-11-20 20:14 | 显示全部楼层
送数据去显示,单独发就是正确的
发字符串就显示乱码
yuyi21ic 发表于 2011-11-20 20:26 | 显示全部楼层
程序没问题啊,估计是显示程序或者其他的问题吧啊、
 楼主| Metalor 发表于 2011-11-20 20:55 | 显示全部楼层
哈哈~
找出原因了。。。
郁闷。。。。
疏忽了。

我的程序用到了一个1602来显示,1602的字库是要另外重新定义的,和电脑上的码不一样,当要显示A时不能发一个'A‘过去,而应该发自己定义的那个值。
真是郁闷的问题,不知道大家有没有看懂。
现在数组改为:uint8_t Metalor[] = {M,e,t,a,l,o,r};就OK,(之前是uint8_t Lynn[]    = {L,y,n,n};)
不管怎么说,长经验了。
 楼主| Metalor 发表于 2011-11-20 20:57 | 显示全部楼层
楼上发错了。。。

现在数组改为:uint8_t Lynn[]    = {L,y,n,n};就OK,(之前是uint8_t Lynn[]    = {”Lynn“};)
linfuchi 发表于 2011-11-20 21:08 | 显示全部楼层
嘿嘿
Cortex-M0 发表于 2011-11-20 23:20 | 显示全部楼层
sytu_chyq 发表于 2011-11-21 08:26 | 显示全部楼层
WriteData(0x30 + *pData);
这个不用加0x30吧

uint8_t Lynn[]    = {L,y,n,n};
这个是什么东东
caijie 发表于 2011-11-21 10:13 | 显示全部楼层
uint8_t Lynn[]    = {L,y,n,n};
uint8_t Lynn[]    = "Lynn"; 这样也行的. 不行你试试, 不管你信不信,反正我信了.
hotpower 发表于 2011-11-21 11:17 | 显示全部楼层
&Lynn[0]
 楼主| Metalor 发表于 2011-11-21 12:01 | 显示全部楼层
&Lynn[0]
hotpower 发表于 2011-11-21 11:17


这样也行
 楼主| Metalor 发表于 2011-11-21 12:02 | 显示全部楼层
uint8_t Lynn[]    = {L,y,n,n};
uint8_t Lynn[]    = "Lynn"; 这样也行的. 不行你试试, 不管你信不信,反正我信了.
caijie 发表于 2011-11-21 10:13


我明白你的意思,但你没明白我的意思。
 楼主| Metalor 发表于 2011-11-21 12:03 | 显示全部楼层
WriteData(0x30 + *pData);
这个不用加0x30吧

uint8_t Lynn[]    = {L,y,n,n};
这个是什么东东
sytu_chyq 发表于 2011-11-21 08:26


这个事老的驱动,需要改改,确实不需要0x30
关于这个东东:uint8_t Lynn[]    = {L,y,n,n};
数组里面每个字符都是我定义的数据,他其实就是一个数。
 楼主| Metalor 发表于 2011-11-21 12:10 | 显示全部楼层
很多人没看明白,有点乱
其实这个问题最终的原因还是因为我犯2,搞出一些不该出现的诡异事情

再说一遍:
比如我定义0x11为A,当我要在LCD显示字符A时发个0x11过去就行了,此时0x11就是A,A就是0x11
然而还有个东西叫‘A’,加了引号的A,大家都明白‘A’代表的数据是0x41
我的问题就是我把我自己定义的A和系统中的‘A’搞混了。。。
不知大家有没有明白

说来说去还是引用以前写的驱动的问题,自己回去改改就可以通用了,不用搞出两个A。。
原野之狼 发表于 2011-11-21 13:50 | 显示全部楼层
呵呵 搞明白了就好
hotpower 发表于 2011-11-21 15:33 | 显示全部楼层
数组是不会加结尾符的,字符串是自动加入的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

224

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部