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

📄 serial_communication.c

📁 此为本人今期一个项目的部分C51源程序
💻 C
字号:

/***************************************************************************************************
 9600bps
 07.5.4 by ligang
说明:主程序中在idata存储取定义缓冲区(一定数量数组),将数组名作为参数传入,
      且必须保证数组最后一个元素为 '\0',发送格式由主程序决定,
      可发送一个或多个变量至串口调试助手
      
      接收地址为:RX_ADDRESS
******************************************************************************************************/
#include <STC12C5412.H>
#include <ctype.h>

#define RX_ADDRESS 0xFE
/* unsigned char  code ASCII_TAB[16]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,      //0-9,的ASCII
                            0x2E,0x0a,0x20,0x0d,        //小数点,换行符,空格,回车符,
                            0x2b,0x2d,0x09};            //正号,负号,制表符*/
                         
/* #define  ASCII_CODE_ZHENGHAO 0X2B
 #define  ASCII_CODE_FUHAO    0x2D
 #define  ASCII_CODE_TAB      0x09     
 #defien  ASCII_CODE_                   */  
/*-----------------------------------------------------------------------------------------------------
                                        初始化串口波特率
-------------------------------------------------------------------------------------------------------*/
 void Initiate_RS232(void)
 {
    ES=0;
    SCON=0x50;       //0101,0000 8数据位,无校验
    T2CON=0X34;      //0011,0100 T2做波特率发生器
    RCAP2H=0XFF;     //11.0592M   9600
    RCAP2L=0XDB;
    ES=1;
 }
/*---------------------------------------------------------------------------------------------------
                                             串口通信程序
功能:将数据发往pc机
----------------------------------------------------------------------------------------------------*/

void serial_communication(unsigned char idata * data Buffer_Pointer)
{
//串口调试用  
    if(RI){
        RI=0;
        if(SBUF==RX_ADDRESS){                                   //pc机定时发送读取命令0xFE 
            for(;(*Buffer_Pointer)!='\0';Buffer_Pointer++){
                SBUF=(*Buffer_Pointer);
                while(!TI);
                TI=0;
            }
            SBUF=toascii('\n');                           //发送换行符 
            while(!TI);
            TI=0;
      
        }
    }  //end if 
}//end function

⌨️ 快捷键说明

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