请提前计算一下所选晶振能达到的最高速度,波特率不能超过最高速度
(1) 波特率加倍(SMOD=1): Max_Baud = FOSC/12/16
(2) 波特率不加倍(SMOD=0):Max_Baud = FOSC/12/32
例如:22.1184MHz晶振,波特率加倍时,最大波特率=22118400/12/16=115200#define FOSC 11059200 //振荡频率
#define BAUD 9600 //波特率
#define SMOD 1 //是否波特率加倍
#if SMOD
#define TC_VAL (256-FOSC/16/12/BAUD)
#else
#define TC_VAL (256-FOSC/32/12/BAUD)
#endif
typedef unsigned char uint8;
typedef unsigned int uint16;