久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1538|回復: 0
打印 上一主題 下一主題
收起左側

關于單片機中使中文字符串逆序排列程序,下面是我寫的函數

[復制鏈接]
跳轉到指定樓層
樓主
ID:696029 發表于 2020-3-14 22:11 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
uchar* str_rorate(uchar *cn)
{
         uchar *p;
         uchar i,j,k;
         i=j=0;
         p=cn;
         while(1)
         {
                  if(*(p+i)=='\0')
                 break;
                 i++;
         }
         i=i-1;
         while(i>j)
         {
                  k=*(p+j);
                 *(p+j)=*(p+i-1);
                 *(p+i-1)=k;
                 k=*(p+j+1);
                 *(p+j+1)=*(p+i);
                 *(p+i)=k;
                 i=i-2;
                 j=j+2;
         }
         return p;
}
由于LCD12864只有接收到逆序的字符串,因此我想寫一個這樣的函數使字符串逆序,但是發現LCD12864上的結果和之前還是一樣的,我就很困惑了。希望有人能給我點幫助。
下面是在LCD12864上顯示字符串的函數
uchar Lcd12864_Write16CnCHAR(uchar x, uchar y, uchar *cn)
{
        uchar j, x1, x2, wordNum;
        cn=str_rorate(cn);
        //--Y的坐標只能從0到7,大于則直接返回--//
        if(y > 7)
        {
                return 0;
        }

        //--X的坐標只能從0到128,大于則直接返回--//
        if(x > 128)
        {
                return 0;
        }
        y += 0xB0;           //求取Y坐標的值
        //--設置Y坐標--//
        LcdSt7565_WriteCmd(y);
        while ( *cn != '\0')         //在C語言中字符串結束以‘\0’結尾
        {        
        
                //--設置Y坐標--//
                LcdSt7565_WriteCmd(y);

                x1 = (x >> 4) & 0x0F;   //由于X坐標要兩句命令,分高低4位,所以這里先取出高4位
                x2 = x & 0x0F;          //去低四位
                //--設置X坐標--//
                LcdSt7565_WriteCmd(0x10 + x1);   //高4位
                LcdSt7565_WriteCmd(0x04 + x2);        //低4位

                for (wordNum=0; wordNum<50; wordNum++)
                {
                    //--查詢要寫的字在字庫中的位置--//
                        if ((CN16CHAR[wordNum].Index[0] == *cn)
                             &&(CN16CHAR[wordNum].Index[1] == *(cn+1)))
                        {
                                for (j=0; j<32; j++) //寫一個字
                                {               
                                        if (j == 16)         //由于16X16用到兩個Y坐標,當大于等于16時,切換坐標
                                        {
                                                //--設置Y坐標--//
                                                   LcdSt7565_WriteCmd(y + 1);
                        
                                                //--設置X坐標--//
                                                LcdSt7565_WriteCmd(0x10 + x1);   //高4位
                                                LcdSt7565_WriteCmd(0x04 + x2);        //低4位
                                        }
                                        LcdSt7565_WriteData(CN16CHAR[wordNum].Msk[j]);
                                }
                                x += 16;
                        }//if查到字結束               
                } //for查字結束        
                cn += 2;
        }        //while結束
        return 1;
}


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日日骑| 国产精品亚洲视频 | 午夜在线视频 | 久久视频精品 | 久久国产欧美日韩精品 | 一级黄色录像片子 | 欧美精品久久久久 | 在线一区二区观看 | 最新黄色毛片 | 天天天久久久 | 国产乱码久久久久久一区二区 | wwwxxx日本在线观看 | 狠狠干影院 | 日韩视频在线一区 | 亚洲三级视频 | 亚洲日韩中文字幕一区 | 午夜影院 | 中文在线一区二区 | 91精品免费 | 97国产精品视频人人做人人爱 | 黄色大片免费网站 | 久久日韩粉嫩一区二区三区 | 久久国产精品久久久久久久久久 | 精品少妇一区二区三区日产乱码 | 毛片视频网址 | 精品无码久久久久国产 | 国产激情偷乱视频一区二区三区 | 日韩一区精品 | 中文字幕 国产精品 | 欧美视频三区 | 精品一区在线免费观看 | 欧美一区二区三区在线观看视频 | 中文字幕加勒比 | 国产99久久 | 成人免费小视频 | 中文字幕视频在线看5 | 91精品在线播放 | 日韩一区av | 99精品一区二区三区 | 亚洲欧美激情视频 | 久久免费视频1 |