请问用串口发送数据,一次最大能发多少字节?

stevenuserregister 2010-04-17 09:31:26
我编了一个程序,一次发1000个字节的16进制的0,程序在第二次按钮点击发送时就报错。
但我发100个字节的的16进制的0,程序就能多次发送。
难道串口发送有字节限制?
我是新手,有谁能帮忙解释一下串口发送时的那几个参数?
先谢谢了!
...全文
8433 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zxdlms 2010-04-19
  • 打赏
  • 举报
回复
你写发送函数的时候就应该注意这一点,根据writefile的lpNumberOfBytesWritten参数判断是否发送完成,如果没有,则应该循环调用writefile发送剩下的字节直至所有的字节发送完成。等你的这次发送完成再返回你的发送函数。
江川 2010-04-19
  • 打赏
  • 举报
回复
串口发送的时候你可以根据波特率来计算每秒发送的字节数
9600波特率为例
8位数据为,1为停止位,1位校验位,则
9600 / (8 + 2)= 960个字节的数据
wuchuncai 2010-04-19
  • 打赏
  • 举报
回复
按道理,是不限的。看看内存是不是没管理好?
只要返回,就意味发送完毕。
LitteGreen 2010-04-19
  • 打赏
  • 举报
回复
当收到返回值,就代表完全发送完了~!
青稞 2010-04-19
  • 打赏
  • 举报
回复
发送完后,看返回值是多少吧。。
stevenuserregister 2010-04-19
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 zgl7903 的回复:]
这个取决于发送的波特率和设置的缓冲区大小
按9600波特率来说, 1个起始位 8个数据位 1个停止位
那么 9600/10=960Bytes 也就是每秒钟的数据量不会超过960字节
如果波特率提高到115200 则可以达到11.52KB/S

详读一下MSDN的帮助文档
http://msdn.microsoft.com/en-us/library/ms810467.aspx
[/Quote]
谢谢zg17903的回复。
我想知道的是一次能传送多少字节?不限制多少秒。
另外,发送数据后,怎样才能知道已经发送完成?
soswaidao 2010-04-17
  • 打赏
  • 举报
回复
友情帮顶,友情帮顶
zgl7903 2010-04-17
  • 打赏
  • 举报
回复
这个取决于发送的波特率和设置的缓冲区大小
按9600波特率来说, 1个起始位 8个数据位 1个停止位
那么 9600/10=960Bytes 也就是每秒钟的数据量不会超过960字节
如果波特率提高到115200 则可以达到11.52KB/S

详读一下MSDN的帮助文档
http://msdn.microsoft.com/en-us/library/ms810467.aspx

18,363

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧