⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 MSP430系列单片机资料-7册-46.3M-pdf.zip
💻 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 + -