导航:首页 > 编程语言 > c编程rs232

c编程rs232

发布时间:2022-10-25 02:25:43

① RS-232-C的C语言程序

通过RS232总线与PC进行通信的测试程序(c语言)

/*这是一个使用单片机串行通信口通过RS232总线与PC进行通信的测试程序,无需扩展.可将DB9的第2和第3脚短路,进行自收自发测试.采用串行中断接收,速率:9600,通信方式2,晶振使用:osc=11.0592MHz。使用SW1-SW6键盘发送文本数字1-6,数码管显示接收的ASCII数据*/
void main(void)
{
SCON=0x50;
TMOD=0x21;
TH1=0xfd;
TL1=0xfd;
TH0=0xf4;
TL0=0x48;
ES=1;ET0=1;EA=1;
TR1=1;
TR0=1;
while(1)
{
if(!key){ Delay(30000);
a=Key_down();
SBUF=table[a];
while(TI==0);
TI=0;
}
}
}

uchar Key_down(void)
{ uchar x;
if(!sw1)x=1;
else if(!sw2)x=2;
else if(!sw3)x=3;
else if(!sw4)x=4;
else if(!sw5)x=5;
else if(!sw6)x=6;
return(x);
}
void Int_T0(void) interrupt 1
{
TH0=0xf4;
TL0=0x48;
if(count==5)count=0;
else count++;
switch(count)
{
case 0:DIG_NUM=0x7f;
LED_DISPLAY=buff_led1;
break;
case 1:DIG_NUM=0xbf;
LED_DISPLAY=buff_led2;
break;
case 2:DIG_NUM=0xdf;
LED_DISPLAY=buff_led3;
break;
case 3:DIG_NUM=0xef;
LED_DISPLAY=buff_led4;
break;
case 4:DIG_NUM=0xf7;
LED_DISPLAY=buff_led5;
break;
case 5:DIG_NUM=0xfb;
LED_DISPLAY=buff_led6;
break;
default:break;
}
}
void Int_Serial(void) interrupt 4
{
while(RI==0);

a=SBUF;RI=0;
buff_led1=buff_led2;
buff_led2=buff_led3;
buff_led3=buff_led4;
buff_led4=buff_led5;
buff_led5=buff_led6;
buff_led6=a;
}

void Delay(int t)
{while(--t);}

② rs232接口定义

RS232接口它被广泛用于计算机串行接口外设连接。RS-232C标准中EIA(Electronic Instry Association)代表美国电子工业联盟,RS(Recommended standard)代表推荐标准,232是标识号,C代表RS232的第三次修改(1969年),在这之前,还有RS232B、RS232A。以下是我为大家带来的关于rs232接口定义,欢迎大家前来阅读!

rs232接口定义图:

③ pc间rs232通讯c语言编程

你好!
reg52.h是51单片机的头文件,DOS下的串口通信用到了硬件中断,相对麻烦一些

你要控制什么设备,收发都需要吗?

④ C#中如何通过RS232的方式实现通信

.net SerialPort类
一.概述
在Visual Studio 6.0中编写串口通讯程序,一般都使用Microsoft Communication Control(简称MSComm)的通讯控件,只要通 过对此控件的属性和事件进行相应编程操作,就可以轻松地实现串口通讯。但在Microsoft.Net技术广泛应用的今天,Visual Studio.Net没有将此控件加入控件库,所以人们采用了许多方法在Visual Studio.Net来编写串口通讯程序:第一种方法是通过采用Visual Studio 6.0中原来的MSComm控件这是最简单的,最方便的方法,但需要注册;第二种方法是采用微软在.NET推出了一个串口控件,基于.NET的P/Invoke调用方法实现;第三种方法是自己用API写串口通信,虽然难度高,但可以方便实现自己想要的各种功能。
现在微软推出了最新版本的Visual Studio 2005开发工具,可以不再采用第三方控件的方法来设计串口通讯程序。NET Framework 2.0 类库包含了SerialPort 类,方便地实现了所需要串口通讯的多种功能,为了使MSComm编程方法快速转换到以SerialPort类为核心的串口通讯的设计方法,本文着重讨论了Visual Studio 6.0的MSComm控件和SerialPort 类设计方法的异同点。
 
二.SerialPort常用属性、方法和事件
1.命名空间
System.IO.Ports命名空间包含了控制串口重要的SerialPort类,该类提供了同步 I/O 和事件驱动的 I/O、对管脚和中断状态的访问以及对串行驱动程序属性的访问,所以在程序代码起始位置需加入Using System.IO.Ports。
2.串口的通讯参数
串口通讯最常用的参数就是通讯端口号及通讯格式(波特率、数据位、停止位和校验位),在MSComm中相关的属性是CommPort和Settings。SerialPort类与MSComm有一些区别:
a.通讯端口号
[PortName]属性获取或设置通信端口,包括但不限于所有可用的 COM 端口,请注意该属性返回类型为String,不是Mscomm.CommPort的short类型。通常情况下,PortName正常返回的值为COM1、COM2……,SerialPort类最大支持的端口数突破了CommPort控件中CommPort属性不能超过16的限止,大大方便了用户串口设备的配置。
b. 通讯格式
SerialPort类对分别用[BaudRate]、[Parity]、[DataBits]、[StopBits]属性设置通讯格式中的波特率、数据位、停止位和校验位,其中[Parity]和[StopBits]分别是枚举类型Parity、StopBits,Parity类型中枚举了Odd(奇)、Even(偶)、Mark、None、Space,Parity枚举了None、One、OnePointFive、Two。
SerialPort类提供了七个重载的构造函数,既可以对已经实例化的SerialPort对象设置上述相关属性的值,也可以使用指定的端口名称、波特率和奇偶校验位数据位和停止位直接初始化 SerialPort 类的新实例。
3.串口的打开和关闭
SerialPort类没有采用MSComm.PortOpen=True/False设置属性值打开关闭串口,相应的是调用类的Open()和Close()方法。
4. 数据的发送和读取
Serial类调用重载的Write和WriteLine方法发送数据,其中WriteLine可发送字符串并在字符串末尾加入换行符,读取串口缓冲区的方法有许多,其中除了ReadExisting和ReadTo,其余的方法都是同步调用,线程被阻塞直到缓冲区有相应的数据或大于ReadTimeOut属性设定的时间值后,引发ReadExisting异常。
5.DataReceived事件
该事件类似于MSComm控件中的OnComm事件,DataReceived事件在接收到了[ReceivedBytesThreshold]设置的字符个数或接收到了文件结束字符并将其放入了输入缓冲区时被触发。其中[ReceivedBytesThreshold]相当于MSComm控件的[Rthreshold]属性,该事件的用法与MsComm控件的OnComm事件在CommEvent为comEvSend和comEvEof时是一致的。  
 
三.SerialPort的使用
对于熟悉MSComm控件的程序设计者,SerialPort类是相当容易上手的。在进行串口通讯时,一般的流程是设置通讯端口号及波特率、数据位、停止位和校验位,再打开端口连接,发送数据,接收数据,最后关闭端口连接这样几个步骤。
数据接收的设计方法在这里比较重要,采用轮询的方法比较浪费时间,在Visual Basic中的延时方法中一般会调用API并用DOEvents方法来处理,但程序不易控制,建议采用DataReceived事件触发的方法,合理的设置ReceivedBytesThreshold的值,若接收的是定长的数据,则将ReceivedBytesThreshold设为接收数据的长度,若接收数据的结尾是固定的字符或字符串则可采用ReadTo的方法或在DataReceived事件中判断接收的字符是否满足条件。
SerialPort类读取数据的许多方法是同步阻塞调用,尽量避免在主线程中调用,可以使用异步处理或线程间处理调用这些读取数据的方法。
由于DataReceived事件在辅线程被引发,当收到完整的一条数据,返回主线程处理或在窗体上显示时,请注意跨线程的处理,C#可采用控件异步委托的方法Control.BeginInvoke及同步委托的方法Invoke。
 
四.结束语
在.NET平台下熟练使用SerialPort 类,可以很好地开发出串口通讯类程序,对于过去使用MSComm控件设计了一些通讯程序,也可以将MSComm控件替换为SerialPort类,当然为了避免对以前的项目做大的改动,可以使用SerialPort类设计一些与MSComm控件具有相同接口的类,在今后工业控制中,SerialPort类将广泛地应用于串口通讯程序的设计中,发挥着与MSComm控件一样的作用。

⑤ 帮忙用C语言写一段单片机rs232程序

你好!!

给你一个串口通讯的例子,你看看吧

⑥ 求RS232串口通信程序(C语言版)

串口调试助手完全可以用来和单片机232口通讯~是不是设置问题或者干脆你的串口还没转到232呢~

⑦ RS232串口通信程序(VC++实现)

visual
c++_turbo
c串口通信编程实践

⑧ 串口RS232-C,代码编写。

可以用流行的串口软件,如格西烽火、SSCOM等,支持命令自定义和保存,测试方便。

⑨ 单片机C语言编程输入字符串问题

单片机和PC通讯,通过RS232串口是最简单的方式。
要实现你的想法,首先在PC端有个应用程序,可以通过串口向单片机发出字符,比如“串口调试助手”。然后将单片机与PC通过RS232连接。
然后,在单片机这边,你自己去了解下单片机RS232编程,很简单的,设定好RS232中断,当单片机的RS232接口接收到PC端发送过来的字符时,单片机便会产生一个中断,然后你编程响应这个中断,回发一个字符就行了。
如果是一个个的字符,也不用担心,单片机有RS232缓存区的,你要做的就是不断的读取缓存区的数据,不必去关心数据是如何发送和接受的。

⑩ 求RS232发送和接收数据包的C语言程序

首先,串口调试软件的波特率最好设置成9600,这种波特率也支持显示中文的,
USB转串口看你用的什么芯片,经过实验采用CH340或是341的是没有问题的,其他还有待验证。

串口调试软件也很重要,有些软件会奇怪出现乱码,但并不是程序错误,推荐你用小丁的sscom32,个人感觉很棒! ;**************************************************************************
; 程序名称:单片机串口发送中文字符实验,232通信程序
; 硬件说明:打开《串口调试助手》,波特率设为9600速率,11.0592晶体
; 注 意:《串口调试助手》要设置好COM号(请核对是否和设备管理器的COM编号一致)
; 操作说明:下载程序后打开串口调试助手sscom32.exe即可显示,或按一下复位开关
;***************************************************************************/
ORG 0000H
AJMP main
ORG 0030H
main: MOV 20H,#00H
MOV TMOD,#22H ;定时器工作方式
MOV SCON,#40H
MOV TH1,#0FAH ;波特率9600
MOV PCON,#80H
SETB TR1
SETB REN ;允许接收
ajmp start
start: mov dptr,#num ;查表
send : clr a ;
movc a,@a+dptr
cjne a,#'$',send_2
ajmp $ ;遇到$停止。
send_2:mov sbuf,a
JNB TI,$ ;串行发送一帧结束了吗?
CLR TI ;
inc dptr ;指针加一
Ljmp send
num:
db 0dh,0ah,0dh,0ah,"XY900_USB型单片机学习板USB-232串口中文发送试验 "
db 0dh,0ah,0dh,0ah,"-----心情解梦-----"
db 0dh,0ah,0dh,0ah,"我梦见自己和前女友生了一个小孩,自己用婴儿车推着孩子在山间的公路上不停地走..."
db 0dh,0ah,0dh,0ah,"最佳答案:"
db 0dh,0ah,0dh,0ah,"首先,你们之间的感情给你留下了很深刻的东西,我想那些镜头可能是你们在一起时你所感受到的---那也许可能会是真的景物..."
db 0dh,0ah,0dh,0ah,"其次,也可能是代表某种心情,我猜想是不是你们曾经的爱情让你觉得幸福但同时也有隐隐作痛...回忆让你觉得不安全和无法掌握。",0dh,0ah,'$'
end

阅读全文

与c编程rs232相关的资料

热点内容
解压ae要多久 浏览:49
江苏省超级服务器云主机 浏览:158
星际译王linux安装 浏览:4
导微信账单不发解压码是什么情况 浏览:94
如何手动删除安卓app 浏览:9
帝国时代2征服者解压包怎么安装 浏览:947
python抓取url 浏览:919
有些硬盘能加密 浏览:635
安卓车机怎么换开局动画 浏览:687
安卓手机如何设置卸载软件 浏览:86
用友加密狗号给别人 浏览:219
电脑里面怎么找到编译器 浏览:493
编译速度与相关 浏览:294
我的奋斗罗永浩pdf微盘 浏览:505
方舟编译器优化怎么样 浏览:868
pclogo填充命令 浏览:242
无锡php工作机会多么 浏览:52
当程序员知道客户还在用ie 浏览:889
python运维监控系统 浏览:994
windows泄露代码编译 浏览:406