欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: c51單片機編程將數組轉化為字符串怎么編程? [打印本頁]

作者: zs19951117    時間: 2018-4-10 14:23
標題: c51單片機編程將數組轉化為字符串怎么編程?
在51單片機中比如{1,2,3,4,5,6}轉化為“123456”這種字符串 怎么編程?

作者: gspt    時間: 2020-2-24 21:01
樓主想把數組變成字符串干嘛用呢
(我在搜百度時,發現我們論壇這個問題也沒回答,所以就此發表一點個人見解)
我在lcd12864里:打印一串字符用         LCD12864_write_word(變量);
比如 LCD12864_write_word("00");
變量當然可以是字符串       
那么我添加加如下代碼
u8 arry[5]={1,1,1,1,1};  //欲轉換的數組
u8 str[]="12345";          //原本的字符串
u8 i;
        for(i=0;i<5;i++){
        str[i] = arry[i] +0x30;
}
顯示 LCD12864_write_word(str);       
就變成了11111
一個數字0x30(十進制48)是字符0,不明白的話搜下ascii碼表有幫助


作者: woshige    時間: 2020-2-26 12:27
/*$PAGE*/
/*
*********************************************************************************************************
*                                       HexToStr
* Functions  : Hex轉字符串
*
* Arguments  : pSrc                 被轉換的Hex地址
*              pDst                 被轉換后的字符串地址
*              LimitLen             目的地址空間限制長度  
*                       
* Returns    : 無
*********************************************************************************************************
*/
CPU_VOID HexToStr(CPU_VOID *pDst, CPU_VOID *pSrc, CPU_INT16U LimitLen)
{
    CPU_INT16U i = 0;
    CPU_INT08U ddl, ddh;
    CPU_INT08U *pSrcBuff = (CPU_INT08U*)pSrc;
    CPU_INT08U *pDstBuff = (CPU_INT08U*)pDst;
   
    CPU_INT16U ValidLen = LimitLen >> 1;
   
    for (i = 0; i < ValidLen; i++)
    {
        ddh = 48 + pSrcBuff[i] / 16;
        ddl = 48 + pSrcBuff[i] % 16;
        
        if (ddh > 57)
        {
            ddh = ddh + 7;
        }
        if (ddl > 57)
        {
            ddl = ddl + 7;
        }
        
        pDstBuff[i * 2] = ddh;
        pDstBuff[i * 2 + 1] = ddl;
    }
   
    if (LimitLen % 2 != 0)
        pDstBuff[LimitLen * 2] = '\0';
}
自用代碼,可以參考




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1