MSP430中继通讯协议

//===========================================================================//
//MSP430接收中继端协议——徐方鑫//
//通讯协议格式为:16进制发送//
//5309AAAAAAAAAAAA45//
//53为数据包打头,字符's'//
//09为字符串长度,char类型//
//其后AAAAAA等为数据内容//
//45为数据包结尾,字符'E'//
//===========================================================================//
#include"msp430x54x.h"
#include
#include
#include
#include"PIN_DEF.H"
#defineucharunsignedchar
#defineuintunsignedint
#defineFLL_FACTOR749//FLL_FACTOR:DCO倍频系数
#defineDATA_BAG_ERROR_MAX0x5000//最大数据包长度,int类型,串口所用8位基本都支持
charevent;//待机模式事件
uintData_Bag_Length,Data_Length;//Data_Bag_Leangth接收数据包的长度
charRXBuffer[20];//接收缓存

//***************************************************************************//
////
//初始化主时钟:MCLK=XT1×(FLL_FACTOR+1)//
////
//***************************************************************************//
voidInit_CLK(void)
{
WDTCTL=WDTPW+WDTHOLD;//关看门狗
P7SEL|=0x03;//端口选择外部低频晶振XT1
UCSCTL6&=~XT1OFF;//使能外部晶振
UCSCTL6|=XCAP_3;//设置内部负载电容
UCSCTL3|=SELREF_2;//DCOref=REFO
UCSCTL4|=SELA_0;//ACLK=XT1
__bis_SR_register(SCG0);//关闭FLL控制回路
UCSCTL0=0x0000;//设置DCOx,MODx
UCSCTL1=DCORSEL_7;//设置DCO振荡范围
UCSCTL2=FLLD__1+FLL_FACTOR;//Fdco=(FLL_FACTOR+1)×FLLRef=(649+1)*32768=21.2992MHz
__bic_SR_register(SCG0);//打开FLL控制回路
__delay_cycles(1024000);
do
{
UCSCTL7&=~(XT2OFFG+XT1LFOFFG+XT1HFOFFG+DCOFFG);//清除XT2,XT1,DCO错误标志
【MSP430中继通讯协议】SFRIFG1 &= ~OFIFG

    推荐阅读