//--获取内部RC,但是需要转化成10进制
void Get_Rc(char rc)
{
uchar idata *idata_point;
uchar i=0;
uchar j=0;
idata_point=0xF8;
for(j=0;j<=3;j++)
{
i=*idata_point;
//--send_UART(i);
idata_point++;
}
}
以上是我读内部RC频率的程序,不知道如何将其转化成10进制的频率,并进行串行通讯,波特率用这个公式:TH1=TL1=256 - ( CON_OSC / 1 / 32/ 11520 ) ?请大虾们指教
此帖出自
小平头技术问答
//#define SYSOSCCLOCK 31795200 31334400//晶振频率,HZ单位,取值倍数接近
#define SYSOSCCLOCK 31795200
#define COM_BAUD_RATE 14400
#define COM_SMOD_DOUBLE_SPEED //倍频设置时波特率的实际值=波特率设定*2 ,注释掉不设置倍频
/*********************************以下不必修改****************************************/
#if (SYSOSCCLOCK/32/COM_BAUD_RATE > 256)
#else
#define COM_TIMER_1T_ENABLE // 1T使能,与BRT使用无关
#endif
#ifdef COM_TIMER_1T_ENABLE
#define COM_TIMER_SETUP 0xff-(uint8)(SYSOSCCLOCK/32/COM_BAUD_RATE)+1
#else
#define COM_TIMER_SETUP 0xff-(uint8)(SYSOSCCLOCK/12/32/COM_BAUD_RATE)+1
#endif
确定 COM_TIMER_SETUP 为整数即可
一周热门 更多>