⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 com.c

📁 sst89c54 isp program for user
💻 C
字号:
//com.c
#include "public.h"
#include "com.h"
#include "sst89cxx.h"

void InitComm(unsigned char Crystal);
unsigned char ReadComm(unsigned char *ch);
unsigned char WriteComm(unsigned char ch);

/////////////////////////////////////////
//CPU种类:12分频时钟周期
//定时器: T2定时器
//误差: 4.5%
//公式: 波特率= 晶振频率/(32*(65536 - [RCAP2H,RCAP2L]))
//CopyRight by YTH 2002.11.11
//#define  Baud9600        6//误差:0
//#define  Baud19200       8//误差:0
//#define  Baud38400       9//误差:0
//#define  Baud115200      11//误差:0

void InitComm(unsigned char nBaudRate)
{
            T2CON=0x30;
            switch(nBaudRate)
            {
            case  Baud9600:
                     RCAP2H=255;RCAP2L=184;
                     break;
            case  Baud19200:
                     RCAP2H=255;RCAP2L=220;
                     break;
            case  Baud38400:
                     RCAP2H=255;RCAP2L=238;
                     break;
            case  Baud115200:
                     RCAP2H=255;RCAP2L=250;
                     break;
            }
            SCON=0x50;
            TR2=1;
}

unsigned char ReadComm(unsigned char *ch)
{

        timerout= COMM_TIMEOUT;

        while(--timerout)
        {
             if(RI==1)
             {
                 RI=0;
                 *ch=SBUF;
                 return TRUE;
             }
        }
        return FALSE;


}
unsigned char WriteComm(unsigned char ch)
{
        timerout= COMM_TIMEOUT;

        SBUF=ch;
        while(--timerout)
        {
             if(TI==1)
             {
                 TI=0;
                 return TRUE;
             }
        }
        return FALSE;
}


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -