當前位置:首頁 > 單片機 > 單片機
[導讀]主程序:/******************************************************************************* *File: main.C *功能: 串口發(fā)送數(shù)據(jù) *說明: 使用外部晶振,不使用PLL,Fpclk=Fcclk/4 *****************************

主程序:

/*******************************************************************************
*File: main.C
*功能: 串口發(fā)送數(shù)據(jù)
*說明: 使用外部晶振,不使用PLL,Fpclk=Fcclk/4
*******************************************************************************/
#include "config.h"
/*******************************************************************************
*名稱: DelayNS()
*功能: 長軟件延時
*******************************************************************************/
void DelayNS(uint32 dly)
{ uint32 i;

for(;dly>0;dly--)
for(i=0;i<50000;i++);
}
/*******************************************************************************
*名稱: UART0_Ini()
*功能: 初始化串口0.設置為8位數(shù)據(jù)位,1位停止位,無奇偶校驗,波特率為9600
*******************************************************************************/
void UART0_Ini(void)
{ U0LCR=0x83; //DLAB=1,可設置波特率
U0DLL=0x12;
U0DLM=0x00;
U0LCR=0x03;
}
/*******************************************************************************
*名稱: UART0_SendByte()
*功能: 向串口發(fā)送字節(jié)數(shù)據(jù),并等待發(fā)送完畢
*******************************************************************************/
void UART0_SendByte(uint8 data)
{ U0THR=data; //發(fā)送數(shù)據(jù)
while((U0LSR&0x40)==0); //等待數(shù)據(jù)發(fā)送完畢
{
uint32 i;
for(i=0; i<5; i++);
}
}
/*******************************************************************************
*名稱:UART0_SendStr()
*功能:向串口發(fā)送一字符串
*******************************************************************************/
void UART0_SendStr(uint8 const *str)
{ while(1)
{ if(*str=='