?? uart.c
字號(hào):
//========================================================
// 文件名稱: UART.c
// 功能描述: 通過(guò)UART實(shí)現(xiàn)串行通訊,將溫度數(shù)據(jù)傳到PC機(jī)
// 維護(hù)記錄: 2005-11-22 v1.0
//========================================================
#include "SPCE061A.h"
//========================================================
// 語(yǔ)法格式: void Init_Uart(void)
// 實(shí)現(xiàn)功能: 初始化串行口
// 參數(shù): 無(wú)
// 返回值: 無(wú)
//========================================================
void Init_Uart(void)
{
unsigned int uiDir;
unsigned int uiAttrib;
unsigned int uiData;
uiDir = *P_IOB_Dir; //初始化IOB7為輸入口
uiDir &= 0xff7f;
*P_IOB_Dir = uiDir;
uiAttrib = *P_IOB_Attrib;
uiAttrib |= 0x0080;
*P_IOB_Attrib = uiAttrib;
uiData = *P_IOB_Data;
uiData &= 0xff7f;
*P_IOB_Data = uiData;
uiDir = *P_IOB_Dir; //初始化IOB10為輸出口
uiDir |= 0x0400;
*P_IOB_Dir = uiDir;
uiAttrib = *P_IOB_Attrib;
uiAttrib |= 0x0400;
*P_IOB_Attrib = uiAttrib;
uiData = *P_IOB_Data;
uiData &= 0xfbff;
*P_IOB_Data = uiData;
*P_UART_BaudScalarLow = 0x0000; //設(shè)置波特率9600/
*P_UART_BaudScalarHigh = 0x0005;
*P_UART_Command1 = 0x0000; //允許發(fā)送
*P_UART_Command2 = 0x0040;
}
//========================================================
// 語(yǔ)法格式: void Send_Data(unsigned int)
// 實(shí)現(xiàn)功能: 發(fā)送數(shù)據(jù)
// 參數(shù): 需要發(fā)送達(dá)數(shù)據(jù)
// 返回值: 無(wú)
//========================================================
void Send_Data(unsigned int uiData_s)
{
unsigned int uiHigh; //高字節(jié)
unsigned int uiLow; //低字節(jié)
uiHigh = uiData_s;
uiLow = uiData_s;
uiHigh = uiHigh >> 8;
uiLow = uiLow & 0x00ff;
*P_UART_Data = 0xaa; //驗(yàn)證信號(hào)
while((*P_UART_Command2 & 0x0040) == 0);
*P_UART_Data = uiHigh;
while((*P_UART_Command2 & 0x0040) == 0);
*P_UART_Data = uiLow;
while((*P_UART_Command2 & 0x0040) == 0);
*P_UART_Data = 0x55; //驗(yàn)證信號(hào)
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -