⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 datatran.c

📁 多通道电压表数模转换
💻 C
字号:

#include <macros.h>
#include "datatran.h"

unsigned char uint_to_ascii(unsigned int uivalue,unsigned char *string)
  {
	unsigned char chbuf[5],*outbuf,j;
	signed char i;
	outbuf=string;
	i=0;
	while(uivalue>9 && i<4)
	{
		           // zero is ascii 48:
		chbuf[i]=(unsigned char) ((uivalue-((uivalue/10)*10))+48);
		uivalue=uivalue/10;
		i++;
	}
	chbuf[i]=(unsigned char) (uivalue+48); // most significant digit
	j = i+1;
	
	while(i>=0)
	  {
	   	*outbuf=chbuf[i];
		i--;
		outbuf++;
      }
	*outbuf=0;
	return j;
  }

void  int_to_ascii(signed int ivalue,unsigned char *string)
  {
	unsigned char chbuf[5],*outbuf;
	signed char i,j;
	outbuf=string;
	if(ivalue<0) {*outbuf='-';   //去除符号位
	             ivalue=~ivalue+1;
				 }
	   else      {*outbuf=0x80;
				 }
	outbuf++;   
	i=0;
	while(ivalue>9 && i<4)
	{
		chbuf[i]=(unsigned char) ((ivalue-((ivalue/10)*10))+48);  // zero is ascii 48
	    ivalue=ivalue/10;
		i++;
	}
	chbuf[i]=(unsigned char) (ivalue+48); // most significant digit
	
	while(i>=0)
	  {
	   	*outbuf=chbuf[i];
		i--;
		outbuf++;
      }
	*outbuf=0;
  }

unsigned char ulong_to_ascii(unsigned long ulvalue,unsigned char *string)
  {
	unsigned char chbuf[10],*outbuf,j;
	signed char i;
	outbuf=string;
	i=0;
	while(ulvalue>9 && i<9)
	{
		           // zero is ascii 48:
		chbuf[i]=(unsigned char) ((ulvalue-((ulvalue/10)*10))+48);
		ulvalue=ulvalue/10;
		i++;
	}
	chbuf[i]=(unsigned char) (ulvalue+48); // most significant digit
	j = i+1;
	while(i>=0)
	  {
	   	*outbuf=chbuf[i];
		i--;
		outbuf++;
      }
	*outbuf=0;
	return j;
  }

void  long_to_ascii(signed long lvalue,unsigned char *string)
  {
	unsigned char chbuf[10],*outbuf;
	signed char i,j;
	outbuf=string;
	if(lvalue<0) {*outbuf='-';   //去除符号位
	             lvalue=~lvalue+1;
				 }
	   else      {*outbuf=0x80;
				 }
	outbuf++;   
	i=0;
	while(lvalue>9 && i<9)
	{
		chbuf[i]=(unsigned char) ((lvalue-((lvalue/10)*10))+48);  // zero is ascii 48
	    lvalue=lvalue/10;
		i++;
	}
	chbuf[i]=(unsigned char) (lvalue+48); // most significant digit
	
	while(i>=0)
	  {
	   	*outbuf=chbuf[i];
		i--;
		outbuf++;
      }
	*outbuf=0;
  }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -