做百度文库需要网站吗,手机网站主机,罗田做网站,天津网站建设技术支持uart.c文件
#include uart.hvoid UartInit(void) //4800bps11.0592MHz
{PCON | 0x80; //使能波特率倍速位SMODSCON 0x50; //8位数据,可变波特率。使能接收TMOD 0x0F; //清除定时器1模式位TMOD | 0x20; //设定定时器1为8位自动重装方式TL1 0xF4; //设…uart.c文件
#include uart.hvoid UartInit(void) //4800bps11.0592MHz
{PCON | 0x80; //使能波特率倍速位SMODSCON 0x50; //8位数据,可变波特率。使能接收TMOD 0x0F; //清除定时器1模式位TMOD | 0x20; //设定定时器1为8位自动重装方式TL1 0xF4; //设定定时初值TH1 0xF4; //设定定时器重装值ET1 0; //禁止定时器1中断TR1 1; //启动定时器1//配置串口中断EA1;ES1;
}void UartSendByte(unsigned char byte)
{SBUFbyte;//检测是否发送完成标志位while(TI0);//发送完成会置1TI0;//需要手动软件复位}void UartSendString(unsigned char *string){while(*string!\0) //指针的数据没到最后一位一直执行循环体{ UartSendByte(*string); //发送指针指向的数据(字节byte)。指针自增指向下一个数据}
}/*重写printf调用的putchar函数重定向到串口输出*/
char putchar(char c){//输出重定向到串口UartSendByte(c);return c; //返回给函数的调用者printf
}
uart.h
#ifndef __UART_H__
#define __UART_H__#include REGX52.Hvoid UartInit(void); //4800bps11.0592MHz
void UartSendByte(unsigned char byte);
void UartSendString(unsigned char *string);#endif
main.c文件
#include REGX52.H
#include stdio.h
//自定义的源文件
#include uart.hvoid main()
{ /* 串口初始化 */UartInit();while(1){/* 利用keil内置的宏来获取编译时的日期和时间这两个宏是字符串形式可以直接打印 */printf(Line:%s\r\n,__LINE__); //行号printf(File:%s\r\n,__FILE__); //文件名printf(Complie Data:%s\r\n,__DATE__); //日期printf(Complie Time:%s\r\n, __TIME__); //时间}
}
结果显示打印信息STC-ISP