*----------------------------------------ComFun.c C51串口输出输入函数外部声明 ComFun.h----------------------------------------*/#include//串口初始化 晶振为11.0592M方式1 波特率300-57600void InitCom(unsigned char BaudRate){unsigned char THTL;switch (BaudRate){case 1: THTL = 64; break; //波特率300case 2: THTL = 160; break; //600case 3: THTL = 208; break; //1200case 4: THTL = 232; break; //2400case 5: THTL = 244; break; //4800case 6: THTL = 250; break; //9600case 7: THTL = 253; break; //19200case 8: THTL = 255; break; //57600default: THTL = 208;}SCON = 0x50; //串口方式1,允许接收TMOD = 0x20; //定时器1定时方式2TCON = 0x40; //设定时器1开始计数TH1 = THTL;TL1 = THTL;PCON = 0x80; //波特率加倍控制,SMOD位RI = 0; //清收发标志TI = 0;TR1 = 1; //启动定时器}//向串口输出一个字符(非中断方式)void ComOutChar(unsigned char OutData){SBUF = OutData; //输出字符while(!TI); //空语句判断字符是否发完TI = 0; //清TI}//向串口输出一个回车换行void ComOutEnter(void){SBUF = 0x00;while(!TI);TI = 0;SBUF = 0x0A;while(!TI);TI = 0;}//向串口输出一个字符串(非中断方式)void ComOutStr(unsigned char *Str){while(*Str != 0x00) //判断是否到了字符串的尾部{SBUF = *Str; //输出字符while(!TI); //空语句判断字符是否发完TI = 0; //清TIStr++; //字符串指针加一}}//从串口接收一个字符(非中断方式)unsigned char ComInChar(){unsigned char InData;while(!RI); //空语句判断字符是否收完InData = SBUF; //保存COM缓冲字符RI = 0; //清RIreturn (InData); //返回收到的字符}//从串口接收一个定长字符串(非中断方式,只用于字符需有一个的idata字符串数组)//如unsigned char *Str;//unsigned char i[]="abcd";//InHandStr = &i;void ComInStr(unsigned char *Str){while(*Str != 0x00) //判断是否到了字符串的尾部{while(!RI); //空语句判断字符是否收完*Str = SBUF; //保存字符RI = 0; //清RIStr++; //字符串指针加一}}
导读:目前正在解读《单片机技术C51串口输出输入函数》的相关信息,《单片机技术C51串口输出输入函数》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《单片机技术C51串口输出输入函数》的详细说明。
简介:本文给大家介绍了单片机技术C51串口输出输入函数。
提醒:《单片机技术C51串口输出输入函数》最后刷新时间 2024-03-14 00:57:46,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《单片机技术C51串口输出输入函数》该内容的真实性请自行鉴别。