?? uart.c
字號(hào):
#include <reg51.h>
#include <string.h>
#include <uart.h>
#include <ST_MR_08S.h>
void init_uart( char Baud )
{
SCON = 0x50 ; //SCON: serail mode 1, 8-bit UART, enable ucvr //UART為模式1,8位數(shù)據(jù),允許接收
TMOD |= 0x20 ; //TMOD: timer 1, mode 2, 8-bit reload //定時(shí)器1為模式2,8位自動(dòng)重裝
PCON |= 0x80 ; //SMOD=1;
if(Baud==B2400)TH1 = 0xE6;
else TH1 = 0xF3; //Baud:4800 fosc=12MHz BAUND_RATE=2*FOSC/(32*12*(256-TH)) FOSC=晶振頻率,TH=初值
IE |= 0x90 ; //Enable Serial Interrupt
TR1 = 1 ; // timer 1 run
TI=0;
}
////////////////////////////////////////////////////
//向串口發(fā)送一個(gè)字符串
void Uart_Send_String (unsigned char *str, unsigned int strlen)
{
unsigned char m = 0;
do
{
SBUF = *(str + m);
while(!TI);
TI = 0;
m ++;
}while (m < strlen);
}
//向串口發(fā)送一個(gè)字符
void Uart_Send_Char(unsigned char chr)
{
SBUF=chr;
while(!TI);
TI = 0;
}
//串口接收中斷函數(shù)
void uart_receive() interrupt 4 using 3
{
unsigned char chr;
if (RI) {
RI = 0 ;
chr=SBUF;
Uart_Send_Char(chr); //echo
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -