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

📄 uart.c

📁 FAT32文件系统源码
💻 C
字号:
			  //UART 相关函数------------------------

/*----------------------------------------------
函数名:UART_Init()
功能:   串口初始化
        通讯有关参数初始化
        将串口波特率设定为9600bps(TC35i专用波特率)
作者:  于振南
-----------------------------------------------*/
#include "uart.h"

void UART_Init()        /* 通讯有关参数初始化 */
{
  ES=0;
  SCON=0x50;
  T2CON=0x34;
  RCAP2H=0xFF;
  RCAP2L=0xD8;//0xB2//D8
  ES=1;


}

/*-------------------------------------------------------
函数名:send()
功能:用户函数,发送一个字节的数据
作者:于振南
----------------------------------------------------------*/

void send(unsigned char mydata)	
{
	ES=0;
	TI=0;
	SBUF=mydata;
	while(!TI);
	TI=0;
    ES=1;
}

/*-------------------------------------------------------
函数名:send_s()
功能:用户函数,发送一个字符串
作者:于振南
----------------------------------------------------------*/

void send_s(char *s)
{
 int len=strlen(s);
 int i;
 for(i=0;i<len;i++)
 send(s[i]);
 send(0x0d);
 send(0x0a);
}

/*----------------------------------------------------
 函数名:ftoa()
 功能  :将一个浮点数转为一个精度为jd的字符串,存于s中
------------------------------------------------------*/
char * ftoa(float dat,char *s,unsigned char jd)
{
 int len,temp,flag=dat<0?dat=-dat,1:0,i;
 char t[10];
 temp=(int)dat;
 for(len=0;temp>0;temp/=10,len++)
 t[len]=temp%10+48;
 for(i=0;i<=len;i++)
 s[len-i-1]=t[i];
 s[len++]='.';
// for(i=0,temp=(int)((dat-(int)dat)*pow(10,jd));temp>0;temp/=10,i++)
 t[i]=temp%10+48;
 for(i=0;i<jd;i++)
 s[len++]=t[jd-i-1];
 s[len++]=0x0d;
 s[len++]=0x0a;
 s[len]=0;
 return s;
}
 int szzh16(unsigned char datax, char *p)
{
 unsigned char temp;
 temp=datax;
 p[0]=((temp>>4)>=10)?(temp>>4)+55:(temp>>4)+48;
 p[1]=((temp&0x0f)>=10)?(temp&0x0f)+55:(temp&0x0f)+48;
 p[2]=0;
 return 1;
}

void PutLong(unsigned long dat)
{
 while(dat)
 {
  send(dat%10+0x30);
  dat/=10;
 }
}

void PutHex(unsigned char x)
{
 unsigned char temp[10];
 szzh16(x,temp);
 send_s(temp);
}

void Printf(char *s,unsigned long d)
{
 while(*s != '\0')
      {     
	 send(*s++);
      }
 send(':');
 send(' ');
 send(d/1000+0x30);
 send(d%1000/100+0x30);
 send(d%1000%100/10+0x30);
 send(d%1000%100%10+0x30);
 send('\n');
 send('\r');
 //unsigned char temp[30];
 //send_s(s);
 //PutLong(d);
}

void Printf_File_Name(unsigned char *p)
{
 unsigned char temp[12];
 unsigned char i;
 for(i=0;i<11;i++)
 {
  temp[i]=p[i];
 }
 temp[i]=0;
 send_s(temp);
}

//UART----END-------------------------------

⌨️ 快捷键说明

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