📄 protol485.c
字号:
#include "at89x52.h"
#include "intrins.h"
#include "protol485.h"
#include "math.h"
struct frame idata sFrame;
/*************void BoudRate***********
功能:设置波特率值并启动。
通讯方式3,T1处于模式2
输入:波特率值
输出:无
影响:TH1,和TL1
(2aqr smode)/32)*(fosc/12)*(2aqr-N)
**************************************/
void BoudRate(uint boud)
{
uint btl;
uchar* pbt;
TR2=FLASE;
//
C_T2=0; // 0=Timer, 1=Counter
TCLK=1;// 0=Serial clock uses Timer 1 overflow, 1=Timer 2
RCLK=1;// 0=Serial clock uses Timer 1 overflow, 1=Timer 2 */
TF2=0;
EXEN2=0;
//得到寄存器预附值
btl=65536.0-(RATE/32.0/boud);//65536-11059200.00/32/boud 1/2时钟周期增一.
pbt=(uchar*)&btl;
//定时器T2高低8位赋值
RCAP2H=*pbt++;
RCAP2L=*pbt;
TR2=TRUE;
//串口模式设置
SCON=0Xc0; //smod0=1 smod1=1
PCON=0x00;
//ES=TRUE;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -