单片机串口通讯选什么上位机软件好
这一般的调试软件是不具备的,就必须下载具有这些功能 的调试软件了。
所以,只是在调试时用一会,方便了就是了。
但,要求通信时,有校验功能的或其它特殊要求的,又不是长久使用。
无所谓好坏,只要能方便调试程序就行,只要你用习惯了网上的rs232串口通讯调试软件确实很多,但都差不多...
在java的web程序中怎么使用串口通讯
最近在做java串口通讯,主要是用个人电脑通过串口从RS485读取数据,并通过crc循环冗余校验,把接收正确的数据解析,插入数据库mysql,并用SSH技术把数据库数据以表格以及图表形式显示 思路: 1.为了从RS485读取数据,由于暂时没有硬件设备,系统是win7,故采用Virtual Serial Port Drive(VSPD)这块虚拟串口软件代替。
并下载sscom32.exe模拟串口通信软件。
2. 要想实现串口通信,用Java实现串口通信(windows系统下),需要用到sun提供的串javacomm20-win32.zip。
其中要用到三个文件,配置如下: comm.jar放置到 JAVA_HOME/jre/lib/ext; win32com.dll放置到 JAVA_HOME/bin; javax.comm.properties 两个地方都要放 jre/lib(也就是在JAVA文件夹下的jre),JAVA_HOME/jre/lib下 这个配置在我电脑上测试成功,也许不需要这样麻烦。
注意的是,如果你使用myeclipse,因为它自带jre,你需要在它所在的jre相应位置放dll以及properties文件。
是不是感觉这个很麻烦,还有windows的限制。
后来我们下载rxtx这款开源包代替了刚才的comm。
不仅windows下可以,linux下也可以。
使用方法很简单,配置如下: RXTXcomm.jar放到JAVA_HOME/jre/lib/ext rxtxSerial.dll放到JAVA_HOME/bin 如果你使用myeclipse工具,你需要把rxtxSerial.dll放到它自带的jre里。
3.新建eclipse工程,添加comm.jar或者RXTXcomm.jar包。
因为javacomm20-win32.zip包里有样例SimpleRead.java,可以通过这个例子测试串口是否正确 4.接收数据正确后,根据传送接收双方的协议,采用CRC循环校验,根据传输的一方的校验函数判定是否是正确传输 5.把正确结束的数据解析,查看自己指定的通讯规则,然后解析 6.插入数据库,jdbc插入 7.数据统计,定时统计每小时,每天,每月,每年的平均值,采用quartz服务来实现。
8.建立web工程,采用hibernate3,spring3,dwr技术把数据库数据动态显示,图表采用jfreechart,以及AJAX的运用
串口通信程序
//=====================================================================// 多机通讯主机程序//zhuji.c//writer:谷雨 2008年3月22日于EDA实验室//注:主机先发送地址,接收到应答后,再发送数据//=====================================================================#include#define addr1 0x31 //从机1地址#define addr2 0x32 //从机2地址unsigned char xx[10];unsigned char p = 0;void delay_1ms(unsigned int i){ unsigned char j; while ((i--)!=0) {for (j=0;j#define addr 0x31 //从机1地址unsigned char receive;unsigned char xx[ ]={"1234567890"};void Uart_Init(void){ TMOD = 0x20; //定时器T1使用工作方式2 TH1 = 0XF3; TL1 = 0XF3; PCON = 0x00; //SMOD=1; SCON = 0xf0; //工作方式3,9位数据位,波特率9600bit/s,允许接收 TR1 = 1; //开始计时 EA = 1; //中断允许 ES = 1; //串行中断允许}void Serial_INT() interrupt 4{ if(!RI) return; RI=0; if(RB8==1) { if(SBUF==addr) SM2=0; else SM2=1; } if(RB8==0) receive=SBUF; }void SendOneByte(unsigned char c){ TB8=0; SBUF = c; while(!TI); TI = 0;}void SendListChar(unsigned char *DData,unsigned char Ef){ unsigned char L=0; if(Ef!=0) { for( ;L<Ef;L++) //显示有效长度 SendOneByte(DData[L]); //发送单个字符 }else while (DData[L]!='\0') //发送至字串结束 { SendOneByte(DData[L]); //发送单个字符 L++; //下一个字符 } }void main(){ Uart_Init(); while(1) { switch(receive) { case 0xff: break; case 0x01: //在此可以写入要完成的动作,最多可完成256个动作 SendListChar(xx,0); break; case 0x02: break; case 0x33: P1=!P1; //为方便其间,赋值给P1口,测P1口电平来检测该程序 break; default: break; } receive=0xff; } } 展开
如何知道串口通讯助手与200PLC连上?串口调试助手发送什么?P?
#include //头文件,c语言一样#define uchar unsigned char //定义unsigned char为uchar#define uint unsigned intunsigned char flag,a,i; //定义unsigned char变量,其实这里用uchar也行uchar code table[]="I receive, thanks "; //定义一个数组,存放到rom中,因为有codevoid init() {} //设置工作方式,这个懂。
void main(){ init(); //调用初始化函数 while(1) //while(1)循环,就是一直在这里面循环,一直接收 { if(flag==1) //等待标志位也就是要等待接收中断执行之后,标志位置1,就是执行接收中断后,flag为1 { ES=0; //关掉中断 for(i=0;i<18;i++) //for循环,依次取出数据发送(你写错了,是8) { SBUF=table[i]; //将你取出的一个uchar型数据送给SBUF while(!TI); //等待发送完成,当发送完成后TI为1 TI=0; //发送中断清零,智能软件清零如果不清0会一直中断,出错的会 } SBUF=a; //然后再发个a while(!TI); //同上 TI=0; ES=1; //置位中断标志位 flag=0; //清除标志位 } }}void serial() interrupt 4 //中断,注意是interrupt 4{ RI=0; //当发生中断清楚接收中断标志RI,也就是置0,它只能软件清零,一定要注意,只要你发送或者接收到后,RI和TI都会置位,必须软件清0 a=SBUF; //从SBUF中取出数据 flag=1; //标志位置1}呵呵,好了,慢慢来吧,单片机还是挺重要的~~~记得给分啊~~~(*^__^*) 嘻嘻……...
matlab PC与PC间串口通信程序
基于TCP/IP的多线程通信及其在远程监控系统中的应用 基于80C196KC微处理器的高速串行通讯 IRIG-E标准FM-FM解调器的有关技术 三一重工CIMS网络系统的设计 分布式智能火灾报警控制系统设计 中国民航AFTN电报网网关系统的开发 数字语音混沌保密通信系统及硬件实现 网络通信中的基本安全技术 一种高码速率的微波锁相调频源 WIN95下虚拟设备驱动程序设计开发 Java的线程机制 北京公交GPS车辆监控系统研究 GPS车辆追踪系统的实现 扩频E2无线中继器的设计 TMS320C30系统与PC104进行双向并行通信的方法 用蛀洞路由器ST_C104构造全互连多机并行系统 FPGA在多进制正交扩频通信系统中的应用 DTMF远程通信的软硬件实现技术 基于SONET的ITS通信系统 用PLC实现的蜂窝移动通信网基站参数采集系统 在VC++中利用ActiveX控件开发串行通信程序 CEWayPL-III电力线载波模块及其应用 公用电话网远程控制系统的开发与应用 光传输无人值守站计算机远程监测系统的研制 实现ANINC 429数字信息传输的方案设计 软件无线电中DSP应用模式的分析 基于LonWorks 网络的PID控制节点的设计 关于上Internet网和TCP/IP协议的实用技术 一种新的VDSL技术 无绳自动答录电话机的系统设计 小封装MT-RJ收发器的实际应用 网络开关盒电路 MCS-51系列单片机在SDH系统中的应用 在Internet网上提高传输视频实时性的研究 使用E1接口实现集群系统与PSTN的互联 变速率CDMA系统软件无线电多用户接收机 利用GSM短消息业务实现GPS车辆监控 多功能调制芯片Stel-1109的原理及应用 RS-485网络设计降低功耗问题 含简体中文字库的集成化液晶显示器模块 单收/单发RS-232接口芯片 ADM101E及其应用 远程机器人监控系统的研制 基于公用电话网的电信交接箱集中监控管理系统 模块化联合码率控制技术 防火墙的研究与实现 基于多项服务质量的组播路由算法 GPS接收机射频IC 把网络引进嵌入式控制系统 IP电话及其在线缆调制解调系统上的应用 多路数据总线仿真软件的设计 TDMA数字卫星通信加/密系统接口管理部分的设计与实现 通信系统过电压产生的原因与防护 低功耗接收机中频子系统芯片AD607 利用TL16C750实现DSP与PC机的高速串行通信 SA9500/SA9502双边带CDMA/AMPS下变频器的应用研究 利用FPGA技术实现数字通信中的交织器和解交织器 采用ISP器件设计可变格式和可变速率的通信数字信号源 IrDA红外通信在导航仪中的应用 一卡通邮政综合服务系统 一种用于SDH光纤传输系统设备时钟的数字式锁相环 短距离高可靠无线数据通讯装置 在衰落移动信道中国象传输的神经网络译码方法 串行数据标准的选择与使用 Internet音频技术概述 LVDS在通信系统背板设计中的应用 基带信号处理芯片组件AD20msp425 网络化仪表应用 第三代移动通信系统与GSM间的切换问题 用单片机控制DDS实现短波跳频系统的调制 基于SC6121芯片的足球机器人红外线通信系统 结合电力线载波和电话通信的报警网络系统 基于TMS320C6201的多通道信号处理平台 基于AD8016的ADSL线路驱动电路的设计 带有集成电压调节器的CDMA发信机中频子系统芯片AD6122 2.4~2.5GHz ISM频段WLAN用CO设计 用于3V GSM双频移动电话的功放解决方案 单芯片300波特调制解调器 Trimedia DSP芯片在视频通信中的应用 用于无线通信的CDMA/FM下变频混频器RF2456 带有集成电压调节器的CDMA接收机中频子系统芯片AD6121 计算机串行通信的环路实现方案 异步FIFO设计 利用高速、大容量FPGA的片上RAM实现155Mbps ATM ISDN终端和终端适配器 带PCI接口的ISDN S/T收发器 移动数字图像扩频通信系统 基于电力线和射频通信的扩频载波技术 纯软件实现单片机远程通信 RS-485通信卡及其应用 EtherLoop 技术 POTSWIRE VDSL技术 GPS PC卡参考设计 基于Compact PCI的通信公共平台 自动功率控制 无线应用领域位流到天线的信号发送 DDS在正交调制技术中的应用 GSM短消息在GPS交通控制中的应用 TMS320C6416特点及其在3G基站中的应用 基于S7600A的嵌入式系统Internet接入方案 基于CAN总线的智能寻位制造系统 使用网络处理器实现IP网络的QoS 基于VDSL的以太网的设计与实现 通用串行总线在分组无线网中的应用 感应通信的应用研究 在应用系统中嵌入WWW服务功能的实现方法 船载交换式网络使用双冗余网卡对网络性能的影响 基于nRF401的PC机无线收发模块的设计 VxWorks网络协议栈的MUX接口 基于“网络通”的以太网家庭数据终端 基于CPLD的串并转换和高速USB通信设计 信息家电网络技术 数字正交上变频器AD9857在高频雷达系统中的应用 基于卫星IP广播的准同步主从式远程教育管理信息系统的设计与实现 基于“Jupiter”GPS接收机的应用设计 MHW7222A型放大器在校园CATV干线系统改造中的设计与应用 54x系列DSP与计算机并口通信的设计方案 CAN总线分布式系统适配卡和控制单元设计 SJA1000在CAN总线系统节点的应用 USB/IrDA桥控制芯片STIr4200S 利用16C554实现主从式单片机远距离通信扩展 嵌入式Internet技术应用 用插值调整法设...
pc机与单片机串行通信的问题?用vb做上位软件,通过RS232接
上面是单片机的 横线后面是VB的 如果你搞过的话 你应该能看明白 void WRITE(void) {unsigned char i,h=0; TH1=246; PCON =0x80; TMOD=0x20; TCON=0x40; SCON=0Xd0; zd_busy=1; RS=1; while(1) { for(i=65;i { void READ(void) {unsigned char i; TH1=246; PCON=0x80; TMOD=0x20; TCON=0x40; SCON=0XD0; zd_busy=1; RS=1; IE=0X90; while(1) { h=0; for(i=0;i { //delay10ms( 1 ); zd_busy=0; js(i); h++; } xians(); delay10ms( 300 ); LCDSTART(); // delay10ms( 10 ); } ----------------------------------------------------------------- Private Sub MSComm1_OnComm() Select Case MSComm1.CommEvent '选择情况进行处理 ' 借着取代底下每一个 case 语句来处理每个事件与错误 ' 事件 Case comEvCD ' CD 线的状态发生变化. Case comEvCTS ' CTS 线的状态发生变化. Case comEvDSR ' DSR 线的状态发生变化. Case comEvRing ' Ring Indicator 变化. Case comEvReceive ' 收到 RThreshold # of txtReceive.Text = txtReceive.Text + Trim(MSComm1.Input) & vbCrLf Case comEvSend ' 传输缓冲区有 Sthreshold 个字符 ' End Select End Sub delay10ms(10); zd_busy=0; FSsj(i);} FSsj(28); } } void FSsj(unsigned char A) { while(zd_busy); SBUF =A; while(!TI); TI=0; //zd_busy=1; } /*串行接受数据程序,让串行接受中断清零 等待其被 接受满后置位然对得到的数据进行存储*/ void js(unsigned char A) { //P2=0XFF; //zd_busy=00; //while(!zd_busy); zd_busy=1; zd_busy=0; RI=0; while(!RI); A=SBUF; zq[h]=A; zd_busy=1; } Public Sub SC1ZJ(B As Byte) Dim S(0) As Byte S(0) = B Do Until MSComm1.CTSHolding = True '等待BUSY Loop MSComm1.Output = S End Sub
java 安装串口通信相关包的问题,急!
我知道怎么弄。
1、只需把相应的串口.dll,.jar文件拷贝到jdk1.7.0_05\lib\ext但是还需要把这几个文件拷贝到C:\Windows\System32下面。
提示java.lang.UnsatisfiedLinkError: no win32com in java.library.path的话只是因为你需要把相应的comm.jar 【Native】一下,具体操作:点击项目名右键-->Properties->Java build Path->Libraries->comm.jar(前面有个三角形)-->Native libaray location:-->选择那个comm.jar的目录,如:D:/项目/WebRoot/WEB-INF/lib即可。
上面的操作即可解决你的问题。
如果有问题,在问吧。
PLC与串口调试软件通信
这个你需了解以下台达PLC通信手册。
里边用到的特殊寄存器D1120,M1143,M1161,D1129,D1121应该对应的就是通信协议(包括站号,波特率,校验码等信息,串口号),你需要核实一下,它那个串口通讯设置参数和你电脑上的通信设置参数,你一定要把电脑和你PLC内的通信内容设置一直才能通信。
一点建议。
...
疯渡翩翩丶醉红颜