历史上的今天
今天是:2024年12月27日(星期五)
2019年12月27日 | 单片机用Itoa函数
2019-12-27 来源:51hei
用过计算机C语言的师兄都应该用过Itoa这个函数,可以很方便的把整数转化为字符串。在单片机开发中,也很需要这个函数,但是单片机开发用的C语言并没有提供Itoa函数,当需要显示整数时很不方便,本人编了一个简易的Itoa函数,可以很方便将整数按指定进制转换为字符串,方便整数显示。供师兄们参考。
#include //======================================== unsigned char *Itoa(unsigned int ni,int dd)//ni 要转换的整数;dd进制; {char i=0,j=0,temp[16],outstr[16]; unsigned int n,num=ni; while(num>=dd) {n=num%dd; if(n>9)temp[i]=n+0x37;else temp[i]=n+0x30; num=num/dd; i++; } n=num;if(n>9)temp[i]=n+0x37;else temp[i]=n+0x30; j=0; for(;i>=0;i--){outstr[j]=temp[i];j++;} outstr[j]=0; return outstr; } //============================================ void Uart_init() {TMOD=0x22; SCON=0x50; TH1=0xfd; TL1=0xfd; EA=1; ES=1; TR1=1; } //--------------------------------------------------------------- void Sentstr(unsigned char *cp) {char i=0; while(*cp) {SBUF=*cp; cp++; while(!TI); TI=0; } } //---------------------------------------------------------------- void UartPro()interrupt 4{;} //============================================= main() {Uart_init(); Sentstr("r253B=");Sentstr(Itoa(253,2)); Sentstr("r253O=");Sentstr(Itoa(253,8)); Sentstr("r253D=");Sentstr(Itoa(253,10)); Sentstr("r253H=");Sentstr(Itoa(253,16)); while(1); }
上一篇:基于单片机锅炉液位控制系统
下一篇:基于单片机空气质量检测仪毕业设计
史海拾趣
|
LabVIEW测量信号时间间隔的实现 摘要 以两路信号为例, 详细阐述了以虚拟仪器方式, 针对不同种类的信号输入硬件板卡, 使用L abV IEW 软件平台实现信 号时间间隔测量的方法。详细解释了各种方法的特点、适用范围及具体实现。另外, 也根据具体的测 ...… 查看全部问答> |
|
1。三极管能设置成Ib=Ic吗? 2.三极管的集电极电流是不是随意设置都行 按照Ic=hfe×Ib 集电极电流能设置成低于上面的Ic吗 即令到其放大系数降低 也即放大系数可以任意改变 只要不高于最大Hfe就行?? 如果 ...… 查看全部问答> |
|
购买的EEWORLDC32SS开发板,CPU地址总线为32位,板载FLASH地址为0x0H-0x3ffffH,而BootLoader的地址为0h-0x0fffH,也就是说上电复位后,系统会从FLASH中读取程序,但现在FLASH的位数为16位,而DSP数据总线是32位,是不是这样就不可能上电自启动了呢 ...… 查看全部问答> |




