社区
硬件/系统
帖子详情
如何从串口发送文件?
crackerlee
2003-06-09 08:11:58
有一pc通过串口连接单片机,通讯设置为:
波特率 115200
数据缓存 32k
流量控制 硬件、CTS 信号侦测
超时设置 60秒
数据位 8位
停止位 缺省为2位
奇偶校验 无
要求发送一个文件给单片机,程序应如何写?
...全文
632
7
打赏
收藏
如何从串口发送文件?
有一pc通过串口连接单片机,通讯设置为: 波特率 115200 数据缓存 32k 流量控制 硬件、CTS 信号侦测 超时设置 60秒 数据位 8位 停止位 缺省为2位 奇偶校验 无 要求发送一个文件给单片机,程序应如何写?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
AthlonxpX86
2003-06-12
打赏
举报
回复
用CSerialPort要注意的问题在下面的贴子里面,是我修改的,但还不是很完善,注意内存泄漏
http://expert.csdn.net/Expert/topic/1851/1851932.xml?temp=.9822657
http://expert.csdn.net/Expert/topic/1505/1505867.xml?temp=.2344019
crackerlee
2003-06-12
打赏
举报
回复
应该怎样修改呢?能给出发送文件的程序片段吗?
AthlonxpX86
2003-06-11
打赏
举报
回复
crackerlee说的CSerialPort类确实不错,但是在传输大文件的时候要适当的修改一下
crackerlee
2003-06-10
打赏
举报
回复
我有CSerialPort类,但我对串口编程不熟悉,我只要求发送不要求接收,我觉得困惑的地方是发送时如何检测缓冲区的状态?谁有这方面的程序片段呢?
gileber
2003-06-10
打赏
举报
回复
一般来说有两种:
1、用MS的控件MSCOMM
2、用串行通信类Cserial
3、直接用Win32api函数
4、利用端口函数直接操作
1 MSComm控件的属性
CommPort:设置串口号,类型 short :1-comm1 2-comm2.
Settings:设置串口通信参数,类型 CString :B波特率,P奇偶性(N无校验,E偶校验,O奇校验),D字节有效位数,S停止位。
PortOpen:设置或返回串口状态,类型 BOOL:TURE打开,FALSE关闭。
InputMode:设置从接收缓冲区读取数据的格式,类型 long: 0-Text 1-Bin。
Input:从接收缓冲区读取数据,类型 VARIANT。
InBufferCount:接收缓冲区中的字节数,类型:short。
InBufferSize:接收缓冲区的大小,类型:short。
Output:向发送缓冲区写入数据,类型:VARIANT。
OutBufferCount:发送缓冲区中的字节数,类型:short。
OutBufferSize:发送缓冲区的大小,类型:short。
InputLen:设置或返回Input读出的字节数,类型:short。
CommEvent:串口事件,类型:short。
程序示例
串口初始化
if (!m_comm.GetPortOpen())m_comm.SetPortOpen(TURE); /*打开串口*/
m_comm.SetSettings("4800,n,8,1"); /*串口参数设置*/
m_comm.SetInputMode(0); /*设置TEXT缓冲区输入方式*/
m_comm.SetRthresHold(1); /*每接收一个字符则激发OnComm()事件*/
接收数据
m_comm.SetInputLen(1); /*每次读取一个字符
VARINAT V1=m_comm.GetInput();
/*读入字符*/
m_V1=V1.bstrval;
发送字符
m_comm.SetOutput(Colevariant ("Hello"); /*发送 “Hello” */
2、Cserial 是由MuMega Technologies公司提供的一个免费的VC++类,可方便地实现串行通信。
3、Windows API通信函数方法
这个在msdn里面讲的很清楚标题:Communication Reference
4、利用端口函数直接操作
这种方式主要是采用两个端口函数_inp(), _outp()实现对串口的读写,其中读端口函数的原型为:
int _inp(unsigned shot port)
该函数从端口读取一个字节,端口号为0~65535。
写端口的函数原型为:
int _outp(unsigned shot port, int databyte)
该函数向指定端口写入一个字节。
不同的计算机串口地址可能不一样,通过向串口的控制及收发寄存器进行读写,可以实现灵活的串口通信功能,由于涉及具体的硬
件电路讨论比较复杂
crackerlee
2003-06-10
打赏
举报
回复
up
FAICHEN
2003-06-09
打赏
举报
回复
你找一个现成的串口类吧!
VB
串口
通信源码210个
010、VB版
串口
调试程序,包含VB源码及安装
文件
,适合调试
串口
011、VB编程RS232
串口
控制DA数模转换 012、VB编程实现的
串口
调试工具源码 013、VB编写的RS232
串口
通信测试程序,以txt格式接受,可定义
发送
字符 014、VB...
虚拟
串口
工具及
串口
调试工具
4.
文件
传输:有些
串口
调试工具还支持从
文件
导入数据进行
发送
,或者将接收到的数据保存到
文件
。 5. 错误检测:提供错误检查功能,如CRC校验,帮助识别数据传输过程中的错误。 使用这样的工具,开发者可以轻松地验证...
C#写的
串口
16进制收发程序(源码).rar
标题中的"C#写的
串口
16进制收发程序(源码)"表明这是一个使用C#编程语言编写的软件应用,其主要功能是通过串行通信接口进行数据的16进制收发。在计算机科学中,
串口
通信是一种常见且重要的硬件接口,允许设备之间...
C#
串口
通信工具
3. **读写数据**:`SerialPort`类提供了`Write()`方法用于向
串口
发送
数据,`Read()`方法用于从
串口
接收数据。如果需要实时接收数据,还可以订阅`DataReceived`事件,当
串口
接收到新数据时,事件处理函数会被调用。 ...
vb.net
串口
通信
串口
通信(Serial Port Communication)是计算机通过串行接口进行数据交换的方式,它通常涉及两个设备之间的单向或双向通信。在VB.NET中,我们可以使用`System.IO.Ports`命名空间中的`SerialPort`类来实现
串口
通信。...
硬件/系统
2,644
社区成员
17,232
社区内容
发帖
与我相关
我的任务
硬件/系统
VC/MFC 硬件/系统
复制链接
扫一扫
分享
社区描述
VC/MFC 硬件/系统
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章