?? main.c
字號:
/*****************************************************************************\
文件名:main.c
描述:用于MSP430F149。
軟件模擬異步串口通訊。
從串口接收數據,分析收到的數據包,然后根據算法進行運算,最后
將結果從串口返回。
數據包的結構見xieyi.h。
版本:1.0 2005-1-15
\*****************************************************************************/
#include <MSP430x14x.h>
#include "xieyi.h"
#include "bao.h"
#include "softuart.h"
void InitSys(); //初始化
int main( void )
{
unsigned char q0;
unsigned char *pq0;
WDTCTL = WDTPW + WDTHOLD; //關閉看門狗
InitSys(); //初始化
start:
if(GetRTx()==1)
{
//收到數據
q0=ReadBuf(); //從softuart.c模塊中讀數據
AddUsData(q0); //將數據存入數據包
}
pq0=DoUart(&q0); //處理數據
//發送數據
while(q0!=0)
{
SendUart(*pq0); //發送數據
while(GetRTx()==0); //等待發送完畢
ReadBuf(); //清除發送完畢標志
q0--;
pq0++;
}
InitRxd(); //串行口進入接收狀態
LPM3;
_NOP();
goto start;
}
/*****************************************************************************
系統初始化
******************************************************************************/
void InitSys()
{
unsigned int iq0;
BCSCTL1&=~XT2OFF; //打開XT2振蕩器
do
{
IFG1 &= ~OFIFG; // 清除振蕩器失效標志
for (iq0 = 0xFF; iq0 > 0; iq0--); // 延時,等待XT2起振
}
while ((IFG1 & OFIFG) != 0); // 判斷XT2是否起振
BCSCTL2 =SELM_2; //選擇MCLK為XT2
InitSfUart(); //初始化軟件串行口
InitRxd(); //串行口進入接收狀態
_EINT();
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -