查看: 2683|回复: 1

COG先展示一点点吧

[复制链接]
  • TA的每日心情

    2021-12-11 14:10
  • 签到天数: 173 天

    连续签到: 1 天

    [LV.7]常住居民III

    发表于 2013-9-21 23:52:54 | 显示全部楼层 |阅读模式
    分享到:
    未命名.jpg
    COG先展示一点点吧,软件写起来比较头疼,驱动MCU用的是MSP430,采用的是SPI的方式,温度传感器用的DHT11。温度驱动弄的比较早,今天折腾的是点阵显示这块。学到了点新知识,也拿出来分享下。因为COG的显示要转过来,而且它的地址编码从低到高的顺序,从图上看的话在点阵那边就是从右向左显示的。所以在编码的时候都要逆序排列,在字符显示的时候还好,但是在整个字符串的逆序时候碰上麻烦了。
    下面是我原来调用的函数的编写:
    void PCA8538_SPI_Write_English_String(BYTE MX, BYTE LX,BYTE Y,char *s)
    {
            PCA8538_SPI_Set_XY(MX,LX,Y); //Set Display's Column & Row
            while(*s)
            {
                    PCA8538_SPI_Write_Char(s[t]);//Display the String
                    s++;
            }
            PCA8538_Write_Byte_Stop_Condition;
    }



            PCA8538_SPI_Write_English_String(0, 0, 0, "Speed Test EE Board");//如果这样调用的话 显示就变成draoB EE tseT deepS

    完全掉过来了,这时我想到的是把这个字符串做个逆序排列,于是我用了如下的函数。

    char* Reverse(char* s)
    {
            char* p = s;                //p指向字符串头部
            char* q = s;
            while( *q )
            {
                    ++q ;
            }
            q -- ;                        //q指向字符串尾部
            while(q > p)
            {
                    char t = *p ;
                    *p++ = *q ;
                    *q-- = t ;
            }                                //交换并移动指针,直到p和q交叉
            return s ;
    }
    不知道是不是这个函数的问题,请教下各位这个函数有问题吗?它能做到逆序排列吗?

    我看了后觉的这个函数没有问题,但是我在打开调试窗口的时候,发现这些指针指向的地址并不是字符串S的地址,这些指针指向的地址也不是连续的。在上面看来这个函数用能调用的话,字符存放的数据地址要是连续的才可以,而在这里是不连续的。突然想到个原因,不会这里的地址要加2吧?16位的处理器。待会再试试吧。
    最后没办法,还是用数组的方式吧。
    void PCA8538_SPI_Write_English_String(BYTE MX, BYTE LX,BYTE Y,char s[])
    {
            signed char        t;

            PCA8538_SPI_Set_XY(MX,LX,Y); //Set Display's Column & Row
            t=strlen(s);
            for(t--;t>=0;t--)
            {
                    PCA8538_SPI_Write_Char(s[t]);//Display the String
            }
            PCA8538_Write_Byte_Stop_Condition;

    }
    这样后,字符的逆序就算完成了。

    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2017-5-12 10:32
  • 签到天数: 295 天

    连续签到: 1 天

    [LV.8]以坛为家I

    发表于 2013-9-22 07:51:09 | 显示全部楼层
    顶一下~~~~~~~~~~~~~~·
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-11-19 21:28 , Processed in 0.120040 second(s), 18 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.