单片机通信之求十六进制字符串转化为字符数组的程序以及你们对程序的解释

2020-01-30 13:52发布

void Hex2Byte(uchar*str,ucha*byte)
{
     uchar tmp;
     while(*str!=0)
       {
           tmp=((*str)<<4)&0xf0;
           str++;
           if(*str==0)
           {
              *byte=(tmp>>4)&0x0f;
              return;
           }
           tmp+=(*str)&0x0f;
           *byte=tmp;
           byte++;         
       }

}
这个破程序就是流行很多书籍的一个关于十六进制字符串转换成字符数组的一个小程序,
但是我怎么也看不懂,我自我反思是因为,我对单片机存储字母的方式不甚了解。如果
哪位大侠对这个比较了解,可以结合这个程序给我上一课,好吗?
万分感激
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。