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

📄 cx.txt

📁 串口发送modbus协议CRC校验低字节(若为查表所得数据为高字节
💻 TXT
字号:
/*-----------发送代码16子程序--------------*/
void Send16(uchar ASendh,ASendl,uint ASend)
 {
 td_dat16[0]=SlaveID; //从机ID
 td_dat16[1]=16;  //功能码16:写多路模拟量
 td_dat16[2]=ASendh;   //ASendh:起始地址高字节
 td_dat16[3]=ASendl;   //ASendl:起始地址低字节
 td_dat16[4]=0;   //写模拟量数量的高字节
 td_dat16[5]=1;   //写模拟量数量的低字节
 td_dat16[6]=2;  //写模拟量数量的字节数
 td_dat16[7]=ASend>>8;//ASend:写给屏的数据
 td_dat16[8]=ASend;  
 crc16Val=crc16(td_dat16,9);   //进行CRC校验
 td_dat16[9]=(uchar)(crc16Val>> 8);    //*CRC校验低字节(若为查表所得数据为高字节,其实为CRC的低字节)
 td_dat16[10]=(uchar)(crc16Val& 0x00ff);
 for(j=0;j<3500;j++)   //根据波特率延时4个字符时间,大约4ms
   _nop_();
 for ( i=0;i<11;i++)    //发送数据
  	{
     ES=0;      //串口中断关闭
     ACC=td_dat16[i];
     SBUF=ACC;
     while(TI==0)
       {
         _nop_();
       }
    for(j=0;j<255;j++) //延时
       _nop_();
    TI=0;
    }
  ES=1;    //串口中断允许
 }

⌨️ 快捷键说明

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