打印
[ZLG-ARM]

一个函数所引申出的问题

[复制链接]
1008|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
silentband|  楼主 | 2008-4-1 22:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
由于需要给LCD送显调试,特地写了一个字节数转ASCII的函数,请大家过目,看看有没有需要改进的地方~
void UintToASC(uint8 data,uint8* dest)
{
    uint8 temp;
    temp = data;
    temp = (temp >>4)&0x0F;
    if (9>=temp)
    {
        dest[0] = temp + 0x30;
    } 
    else
    {
        dest[0] = (temp-10) + 'A';
    }
    temp = data;
    temp = temp & 0x0F;
    if  (9>=temp)
    {
        dest[1] = temp + 0x30;
    } else
    {
        dest[1] = (temp-10) + 'A';
    }
    return;
}

由此引发了一个思考,keil for arm里没有可供调用的函数吗?周工的资料里没有讲到我们可以使用的数学函数库一类的,很是不方便呀~

相关帖子

沙发
silentband|  楼主 | 2008-4-1 23:13 | 只看该作者

又写了一个,编译后提示警告

uint8 *UintToASC(int i)
{
  char buf[100],temp;
  int8 index=0,j,len;
  if(i<0)
      buf[index]='-';
  while(i/10)
  {
    buf[++index]=i%10+'0';
    i/=10;
  }
  buf[++index]='\0';
  len=strlen(buf);
  for(j=0;j<len/2;j++)
  {
    temp=buf[j];
    buf[j]=buf[len-j];
    buf[len-j]=temp;
  }
return buf;
}  

使用特权

评论回复
板凳
王紫豪| | 2008-4-1 23:28 | 只看该作者

sprintf

使用特权

评论回复
地板
王紫豪| | 2008-4-1 23:33 | 只看该作者

关于标准库的看法

1.学习 C 最好要牢记系统标准库;

2.由于标准库需要考虑到很多问题,它的效率肯定没有自己写来得快;但是我还是推荐大家用,最好不要自己写,特别是新手,原因请看第三条;

3.自己写的算法没有标准库健全,容易出bug,哈哈!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

78

主题

272

帖子

0

粉丝