MSP430中继通讯协议

电子元件 4年前 (2022) aysz01
0

//===========================================================================//

//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错误标志

SFRIFG1 &= ~OFIFG

版权声明:aysz01 发表于 2022-08-06 11:22:58。
转载请注明:MSP430中继通讯协议 | 鳌游电工

暂无评论

暂无评论...