请选择 进入手机版 | 继续访问电脑版

 找回密码
 立即注册
查看: 2890|回复: 34

分享一个多线程异步串口通讯库

[复制链接]

1

主题

4

帖子

37

积分
交易币
0

新手入门

Rank: 1

发表于 2015-8-28 23:09:41 | 显示全部楼层 |阅读模式
    前阵子在找界面库HTMLayout时认识了aardio,小巧、不用安装、不带库,这正是我需要的。因为之前做过几年电工,知道在工控领域很多地方还在用串口、以太网的,于是决定通过写一个串口通讯库来学习aardio。    这个串口库纯aardio代码,读、写线程独立,可以实现全双工,设计成类似C#串口类的形式(方法+属性)。使用了3个标准库util.metaProperty、thread.event、thread.table。在写的过程中主要是在纯函数跟API数据类型上面吃了苦头。因为水平有限,错误在所难免,欢迎指正,另外,如果你对源码作了改进,麻烦发一份副本给我。源代码比较长,直接上附件。

UartTest.exe.zip

415.09 KB, 下载次数: 122, 下载积分: A币 -1

UartTest.zip

11.78 KB, 下载次数: 168, 下载积分: A币 -1

回复

使用道具 举报

14

主题

171

帖子

588

积分
交易币
0

编程三段

Rank: 4

发表于 2015-8-29 08:29:50 | 显示全部楼层
虽然不懂串口,支持分享。
能这么快学会,想来是高手,期待更多分享
回复 支持 反对

使用道具 举报

2

主题

47

帖子

729

积分
交易币
0

编程三段

Rank: 4

发表于 2015-8-29 08:30:37 | 显示全部楼层
谢谢分享,我也不懂串口
回复 支持 反对

使用道具 举报

14

主题

171

帖子

588

积分
交易币
0

编程三段

Rank: 4

发表于 2015-8-29 08:54:22 | 显示全部楼层
类的私有数据就是加var

aardio串自带  :: PostThreadMessage和::SendMessage
回复 支持 反对

使用道具 举报

14

主题

171

帖子

588

积分
交易币
0

编程三段

Rank: 4

发表于 2015-8-29 09:13:39 | 显示全部楼层
combobox可以直接设置多项,不用一个一个添加
mainForm.combobox3.items = {1;2;3;4}
这样更方便
回复 支持 反对

使用道具 举报

1

主题

4

帖子

37

积分
交易币
0

新手入门

Rank: 1

 楼主| 发表于 2015-8-29 09:49:19 | 显示全部楼层
micksoft 发表于 2015-8-29 08:54
类的私有数据就是加var

aardio串自带  :: PostThreadMessage和::SendMessage

谢谢提醒。没有直接使用:: PostThreadMessage和::SendMessage是因为要先import win,而我不想仅仅为了2个函数在库中引用过多的外部库。

点评

库保持独立性的思路是对的,不过AAuto早就支持直接调用API的,例如 ::User32.SendMessage( 0xFFFF,0x112, 0xF170,2); 并不需要引用其他库  发表于 2015-8-29 12:37
回复 支持 反对

使用道具 举报

1

主题

4

帖子

37

积分
交易币
0

新手入门

Rank: 1

 楼主| 发表于 2015-8-29 09:50:05 | 显示全部楼层
micksoft 发表于 2015-8-29 09:13
combobox可以直接设置多项,不用一个一个添加
mainForm.combobox3.items = {1;2;3;4}
这样更方便 ...

这么简单!hoho!
回复 支持 反对

使用道具 举报

14

主题

171

帖子

588

积分
交易币
0

编程三段

Rank: 4

发表于 2015-8-29 11:58:12 | 显示全部楼层
H.green 发表于 2015-8-29 09:49
谢谢提醒。没有直接使用:: PostThreadMessage和::SendMessage是因为要先import win,而我不想仅仅为了2个 ...

主线程了已经打包到exe里了,子线程用下也没影响吧
回复 支持 反对

使用道具 举报

2

主题

46

帖子

384

积分
交易币
0

编程二段

Rank: 3Rank: 3

发表于 2015-9-4 00:16:25 | 显示全部楼层
感谢分享,收下学习了,谢谢!!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



GMT+8, 2018-2-25 03:55 , Processed in 0.140628 second(s), 37 queries .

© 2001-2011 Powered by Discuz! X3.2.

快速回复 返回顶部 返回列表