yt5408
发表于 2012-4-13 19:00:55
例子是屏做主机,单片机做人机吗?
yt5408
发表于 2012-4-13 19:22:04
最好给个屏作从机的例子:P
xzw
发表于 2012-4-27 12:39:47
楼主,你们的这个例子(参考网站上www.weinview.cn 范例下载D40:与单片机通讯示例)有BUG,比如在通讯过程中,拔掉通讯线,然后再插上去,就有可能再也通讯不上了。此时必须重新复位单片机才能通讯上。我猜情况应该是通讯了一半,断线了,插上去后,单片机再也收不到完整的MODBUS帧了,所以也不会回数给触摸屏。
liuweiplc
发表于 2012-4-30 16:40:13
D40例子用232接口通讯,可以返回数据,485通讯不能返回数据,程序中没有给出R/T控制,大家自己加上吧,做做实验还行
liuweiplc
发表于 2012-5-1 10:05:02
T0= RECIEVE;
P3.4口是R/T控制
何素峰
发表于 2012-5-14 20:54:54
最近在研究 屏与单片机通讯 看了论坛D40代码其中有句uchardata *port _at_ 0x7F ; 不懂请大家指教
bhbyuanyuan
发表于 2012-5-28 14:56:24
版主,你好!我将例程分别烧到了MT6070iH和1T的单片机,可以通讯得上,但是出现了旋钮自动复位的现象,即在触摸屏上点击旋钮TS_0,其会自动返回之前的状态,不能保持切换的状态,而离线模拟的时候则不会。想咨询下这是由上面原因造成的呢?单片机这边的程序有什么要修改的吗?(论坛中貌似有帖提到程序有点小问题,但是不知道该哪里)谢谢~
liuweiplc
发表于 2012-5-29 19:51:31
SlaveOutputBuf=~P2; // send data of master force coil val
SlaveOutputBuf=~P0;
i=CommBuf+3;
for(CommIndex=3;CommIndex<i;CommIndex++) // send data Reg to Master
CommBuf=SlaveOutputBuf; // hight 8 bit is first send
crc16tem=crc16(CommBuf,CommIndex); // then send low 8 bit data
CommBuf=(uchar)(crc16tem & 0x00ff); // send crccheck low 8 bit is front
CommBuf=(uchar)(crc16tem>>8); // then send hight 8 bit
CommIndexEnd=CommIndex;
CommIndex=0;
SBUF=CommBuf;
break;
case ForceSingleCoil:
// SlaveInputBuf=CommBuf; // get data 0x00 or 0xff
if (CommBuf==0xff)
{
switch(CommBuf)
{
case 0:
LED0=0;
break;
case 1:
LED1=0;
break;
case 2:
LED2=0;
break;
case 3:
LED3=0;
break;
case 4:
LED4=0;
break;
case 5:
LED5=0;
break;
case 6:
LED6=0;
break;
case 7:
LED7=0;
break;
case 8:
LED8=0;
break;
case 9:
LED9=0;
break;
case 10:
LED10=0;
break;
case 11:
LED11=0;
break;
case 12:
LED12=0;
break;
case 13:
LED13=0;
break;
case 14:
LED14=0;
break;
case 15:
LED15=0;
break;
}
}
else
{
switch(CommBuf)
{
case 0:
LED0=1;
break;
case 1:
LED1=1;
break;
case 2:
LED2=1;
break;
case 3:
LED3=1;
break;
case 4:
LED4=1;
break;
case 5:
LED5=1;
break;
case 6:
LED6=1;
break;
case 7:
LED7=1;
break;
case 8:
LED8=1;
break;
case 9:
LED9=1;
break;
case 10:
LED10=1;
break;
case 11:
LED11=1;
break;
case 12:
LED12=1;
break;
case 13:
LED13=1;
break;
case 14:
LED14=1;
break;
case 15:
LED15=1;
break;
}
}
// LED0=!LED0;
ForceCoilBuf=CommBuf;
forceval=CommBuf;
CommBuf=SlaveID; // 0
CommBuf=ForceSingleCoil; // 1
CommIndex=2;
// CommBuf=0x00;
// CommBuf=0x01;
// CommBuf=0x00;
// CommBuf=0xff;
// forcesendF=1;
CommBuf=CommBuf; // 2
CommBuf=CommBuf; // 3
CommBuf=CommBuf; // 4
CommBuf=CommBuf; // 5
crc16tem=crc16(CommBuf,CommIndex); // then send low 8 bit data
CommBuf=(uchar)(crc16tem & 0x00ff); // send crccheck low 8 bit is front
CommBuf=(uchar)(crc16tem>>8); // then send hight 8 bit
CommIndexEnd=CommIndex;
CommIndex=0;
SBUF=CommBuf;
count=0;
break;
看看有什么不一样,:loveliness:
liuweiplc
发表于 2012-5-29 19:53:40
uchar idata SlaveOutputBuf; // Hight 8 bit of word is front,Low 8 bit is back
uchar idata SlaveInputBuf;
uchardata *port _at_ 0x7F ;
/* exp data define */
//#define SlaveAdr XBYTE
sbit LED0=P2^0;
sbit LED1=P2^1;
sbit LED2=P2^2;
sbit LED3=P2^3;
sbit LED4=P2^4;
sbit LED5=P2^5;
sbit LED6=P2^6;
sbit LED7=P2^7;
sbitLED8=P0^0;
sbitLED9=P0^1;
sbit LED10=P0^2;
sbit LED11=P0^3;
sbit LED12=P0^4;
sbit LED13=P0^5;
sbit LED14=P0^6;
sbit LED15=P0^7;
uchar idata ForceCoilBuf;
uchar count=0;
uchar forceval=0x00;
//bit forcesendF=0;
/* Table Of CRC Values for high-order byte */
uchar code auchCRCHi[] = {
0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81,
0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0,
0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01,
0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,
guozhujun
发表于 2012-5-31 19:49:44
谢谢分享,真是需要之时。顶顶顶顶顶顶顶!
鹤岗殷工
发表于 2012-7-16 19:26:38
版主不是校验员
lf8013
发表于 2012-8-3 21:54:07
谢谢提供的资料
徐明明
发表于 2012-8-16 11:40:58
PC与触摸屏通讯时,PC设备的PLC类型选的是Free Protocol,如果是采用MODBUS通讯协议让avr128单片机与触摸屏通讯,那设置设备属性时,PLC类型是指通讯方式吗?是根据所选方式是ASCII或RTU相应选择MODBUS ASCII或MODBUS RTU吗?
286405902
发表于 2012-9-11 21:49:31
上面的51单片机MODBUS示例.rar (版主怎么在触摸屏设置1X 0x 地址
bhbyuanyuan
发表于 2012-9-20 19:58:22
触摸屏做从站(modbus server),单片机做主站该怎么做啊?有例子吗?有没有人做过啊?
fuhuafeng72
发表于 2012-9-21 14:48:04
谢谢下载看看
fish198868
发表于 2012-9-25 20:19:29
学习中,不错,太感谢了。
机速英雄
发表于 2012-11-10 22:33:09
很高深,不懂。都是高手高手高高手,顶一下!!
hxjlm
发表于 2013-1-5 19:33:00
非常感谢楼主!正在搜集资料研究此问题,谢谢!
junming6385
发表于 2013-1-22 11:16:10
太好了,感谢感谢