資源簡介
void presetSingleRegister(void) //設置單個寄存器
{
U8 addr;
U8 tempAddr;
U8 setCount;
U16 crcData;
U16 tempData;
//addr = (receBuf[2]<<8) + receBuf[3];
//tempAddr = addr & 0xfff;
addr = receBuf[3];
tempAddr = addr; //& 0xff
tempData = ( receBuf[4]<> 8;
sendBuf[3] = addr & 0xff;
sendBuf[4] = receBuf[4];
sendBuf[5] = receBuf[5] ;
setCount = 6; //共6個字節
crcData = crc16(sendBuf,6);
sendBuf[6] = crcData >> 8;
sendBuf[7] = crcData & 0xff;
sendCount = 8;
beginSend();
}
//設置多個寄存器
void presetMultipleRegisters(void)
{
UINT8 addr;
UINT8 tempAddr;
UINT8 byteCount;
UINT8 setCount;
UINT16 crcData;
UINT16 tempData;
UINT8 i;
//addr = (receBuf[2]<<8) + receBuf[3];
//tempAddr = addr & 0xfff;
addr = receBuf[3];
tempAddr = addr & 0xff;
//setCount = (receBuf[4]<<8) + receBuf[5];
setCount = receBuf[5];
byteCount = receBuf[6];
for (i = 0; i < setCount; i++, tempAddr++) {
//SBUF = receBuf[i*2+7];
//SBUF = receBuf[i*2+8];
tempData = (receBuf[i*2+7] <> 8;
sendBuf[3] = addr & 0xff;
sendBuf[4] = setCount >> 8;
sendBuf[5] = setCount & 0xff;
crcData = crc16(sendBuf, 6);
sendBuf[6] = crcData >> 8;
sendBuf[7] = crcData & 0xff;
sendCount = 8;
beginSend();
}碼

代碼片段和文件信息
/******************************
微嵌電子工作室?版權所有
Modbus?RTU?示范程序
適用于微嵌51單片機最小系統板
在AT89S52單片機上測試通過,可以移植到其他51系列單片機
詳情請登錄?http://yuikin.taobao.com
*******************************/
#include?“Project.h“
sbit?LED0?=?P0^0;
sbit?LED1?=?P0^1;
sbit?LED2?=?P0^2;
sbit?LED3?=?P0^3;
sbit?LED4?=?P0^4;
sbit?LED5?=?P0^5;
sbit?LED6?=?P0^6;
sbit?LED7?=?P0^7;
void?main(void)
{
UINT?nCounter?=?0;
UCHAR?ucLedIndex?=?0;
SYSTEM_DISABLE_INTERRUPT();
TimerInit();
UartInit(9600?1);
SYSTEM_ENABLE_INTERRUPT();
LED0?=?0;
while(1)?{
timerProc();
checkComm0Modbus();
nCounter?++;
if?(nCounter?==?10000)?{
switch?(ucLedIndex)?{
case?0:
LED0?=?1;
LED1?=?0;
ucLedIndex?=?1;
break;
case?1:
LED1?=?1;
LED2?=?0;
ucLedIndex?=?2;
break;
case?2:
LED2?=?1;
LED3?=?0;
ucLedIndex?=?3;
break;
case?3:
LED3?=?1;
LED4?=?0;
ucLedIndex?=?4;
break;
case?4:
LED4?=?1;
LED5?=?0;
ucLedIndex?=?5;
break;
case?5:
LED5?=?1;
LED6?=?0;
ucLedIndex?=?6;
break;
case?6:
LED6?=?1;
LED7?=?0;
ucLedIndex?=?7;
break;
case?7:
LED7?=?1;
LED0?=?0;
ucLedIndex?=?0;
break;
}
nCounter?=?0;
}
}
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????4885??2012-02-28?08:15??51單片機Modbus_RTU示范源程序\Main.lst
?????文件??????12041??2012-02-28?08:15??51單片機Modbus_RTU示范源程序\Main.obj
?????文件???????1103??2011-11-06?21:29??51單片機Modbus_RTU示范源程序\Modbus\Modbus\Modbus.opt.bak
?????文件???????2341??2011-11-06?03:22??51單片機Modbus_RTU示范源程序\Modbus\Modbus\Modbus.Uv2.bak
????.......?????64170??2014-09-12?15:54??51單片機Modbus_RTU示范源程序\Modbus\Modbus\Modbus.uvopt
????.......?????13958??2014-09-12?15:54??51單片機Modbus_RTU示范源程序\Modbus\Modbus\Modbus.uvproj
?????文件???????1094??2011-11-06?21:27??51單片機Modbus_RTU示范源程序\Modbus\Modbus\Modbus_Opt.Bak
?????文件???????2223??2011-11-05?19:17??51單片機Modbus_RTU示范源程序\Modbus\Modbus\Modbus_Uv2.Bak
????.......?????64176??2014-09-12?14:21??51單片機Modbus_RTU示范源程序\Modbus\Modbus\Modbus_uvopt.bak
????.......?????13953??2011-11-20?02:02??51單片機Modbus_RTU示范源程序\Modbus\Modbus\Modbus_uvproj.bak
?????文件???????5038??2014-09-12?15:52??51單片機Modbus_RTU示范源程序\Modbus\Modbus\Output\Main.lst
?????文件??????11900??2014-09-12?15:52??51單片機Modbus_RTU示范源程序\Modbus\Modbus\Output\Main.obj
?????文件??????74862??2014-09-12?15:50??51單片機Modbus_RTU示范源程序\Modbus\Modbus\Output\Modbus
?????文件??????11593??2014-09-12?15:50??51單片機Modbus_RTU示范源程序\Modbus\Modbus\Output\Modbus.hex
?????文件????????182??2014-09-12?15:50??51單片機Modbus_RTU示范源程序\Modbus\Modbus\Output\Modbus.lnp
?????文件??????32974??2014-09-12?15:53??51單片機Modbus_RTU示范源程序\Modbus\Modbus\Output\Modbus.lst
?????文件??????46154??2014-09-12?15:50??51單片機Modbus_RTU示范源程序\Modbus\Modbus\Output\Modbus.m51
?????文件??????31076??2014-09-12?15:53??51單片機Modbus_RTU示范源程序\Modbus\Modbus\Output\Modbus.obj
?????文件???????2723??2014-09-12?15:54??51單片機Modbus_RTU示范源程序\Modbus\Modbus\Output\Modbus.plg
?????文件??????74877??2014-09-12?15:53??51單片機Modbus_RTU示范源程序\Modbus\Modbus\Output\Modbus_test
?????文件??????11593??2014-09-12?15:53??51單片機Modbus_RTU示范源程序\Modbus\Modbus\Output\Modbus_test.hex
?????文件????????192??2014-09-12?15:53??51單片機Modbus_RTU示范源程序\Modbus\Modbus\Output\Modbus_test.lnp
?????文件??????46179??2014-09-12?15:53??51單片機Modbus_RTU示范源程序\Modbus\Modbus\Output\Modbus_test.m51
?????文件???????1324??2014-09-12?15:53??51單片機Modbus_RTU示范源程序\Modbus\Modbus\Output\System.lst
?????文件???????9262??2014-09-12?15:53??51單片機Modbus_RTU示范源程序\Modbus\Modbus\Output\System.obj
?????文件???????4491??2014-09-12?15:53??51單片機Modbus_RTU示范源程序\Modbus\Modbus\Output\Timer.lst
?????文件??????13058??2014-09-12?15:53??51單片機Modbus_RTU示范源程序\Modbus\Modbus\Output\Timer.obj
?????文件???????4973??2014-09-12?15:52??51單片機Modbus_RTU示范源程序\Modbus\Modbus\Output\Uart.lst
?????文件??????15892??2014-09-12?15:52??51單片機Modbus_RTU示范源程序\Modbus\Modbus\Output\Uart.obj
?????文件????????324??2011-11-21?21:22??51單片機Modbus_RTU示范源程序\Modbus\Modbus\Readme.txt
............此處省略84個文件信息
評論
共有 條評論