?? main.c
字號(hào):
#include <string.h>
#include <stdio.h>
#include "Target\44b.h"
#include "Target\44blib.h"
static int UartNum=0;
void myUart_Init(int whichuart, int baud)//對(duì)Uart進(jìn)行初始化,以所需要的波特率為輸入?yún)?shù)
{
if(whichuart==0)
{
UartNum=0;
rUFCON0=0x0; //不使用FIFO
rUMCON0=0x0; //不使用自動(dòng)流控制
rULCON0=0x3; //不采用紅外線傳輸模式,無(wú)奇偶校驗(yàn)位,1個(gè)停止位,8個(gè)數(shù)據(jù)位
rUCON0=0x245; //發(fā)送中斷為電平方式,接收中斷為邊沿方式,禁止超時(shí)中斷,允許產(chǎn)生錯(cuò)誤狀態(tài)中斷,禁止回送模式,禁止中止信號(hào),傳輸模式為中斷請(qǐng)求模式,接收模式也為中斷請(qǐng)求模式。
rUBRDIV0 = ( (int)(MCLK/16./baud + 0.5) -1 ); //根據(jù)波特率計(jì)算UBRDIV0的值
}
else if(whichuart==1)
{
UartNum=1;
rUFCON1=0x0;
rUMCON1=0x0;
rULCON1=0x3;
rUCON1=0x245;
rUBRDIV1 = ( (int)(MCLK/16./baud + 0.5) -1 );
}
}
void myUart_SendByte(char ch)
{
if (UartNum ==0)
{
if(ch=='\n')
{
while(!(rUTRSTAT0 & 0x2));//等待,直到發(fā)送緩沖區(qū)為空
//Delay(10); //超級(jí)中斷的響應(yīng)速度較慢
WrUTXH0('\r');//發(fā)送回車符
}
while(!(rUTRSTAT0 & 0x2)); //等待,直到發(fā)送緩沖區(qū)為空
Delay(10);
WrUTXH0(ch);//發(fā)送字符
}
else
{
if(ch=='\n')
{
while(!(rUTRSTAT1 & 0x2));
Delay(10); //because the slow response of hyper_terminal
rUTXH1='\r';
}
while(!(rUTRSTAT1 & 0x2)); //Wait until THR is empty.
Delay(10);
WrUTXH1(ch);
}
}
void myUart_Send (char *str)
{
myUart_Init(0,115200);
while (*str)
myUart_SendByte(*str++);
}
void Main(void)
{
//char aa;
Port_Init();
Led_Display(0xf);
Beep(0x1);
myUart_Send("\n*************************************************************************");
myUart_Send("\n* 立宇泰電子 *");
myUart_Send("\n* -UART test- *");
myUart_Send("\n* Version 1.21 *");
myUart_Send("\n* Email:Support@hzlitai.com.cn *");
myUart_Send("\n* UART0 Config--COM:115.2kbps,8Bit,NP,UART0 *");
myUart_Send("\n*-----------------------------------------------------------------------*");
Beep(0x0);
Led_Display(0x0);
while(1);
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -