EDN首页   博客首页

1

关于投票
HotComm的消息分散调度管理机制
hotpower 发表于 2008-7-12 23:19 侃单片机 ←返回版面 按此察看该网友的资料 按此把文章加入收藏夹 按此编辑本帖

18楼: HotComm的消息分散调度管理机制

        HotComm的消息分散调度管理机制
HotComm结合了Delphi的SPComm的分散消息管理和VB的MSComm的集中事件管理的各自特长,并以MSComm优先兼顾SPComm的特色.

HotComm的消息分散调度管理机制只能用安装函数安装回调函数,所以MSComm的集中管理事件OnCommCallback()必须经过安装才能
触发.

即使采用VB模式也可安装在OnCommCallback()中的各个单独事件,也可直接调用case内的普通函数.

但是这有本质的区别:
1.普通函数在运行时不能卸载,和死板.
2.安装函数可以在运行时加载或卸载,非常灵活和方便.

举个简单的例子:
假设用户的接收回调根据需要可选择ASCII/HEX这两种最常见的编程手法,而且运行后只能选择一种而且永不改变.

那么前者就需要用分支语句来判断,一般是由外部条件来判断,每次引发事件都要如此过程!!!
而后者只需在打开串口的瞬间根据需要安装一种回调函数即可,这样每次引发事件后就自动而且肯定正确地执行。

故:  结论----HotComm很黄很暴力!!!

签名:

●█〓██▄▄▄▄▄▄ ●●●●●●→ ''''╭WWWW╮
▄▅██████▅▄▃▂ 传播非典灌水四方 ( ●_●)
███天█马█行█空████ '''',,,;,;,;'''/▇\''
◥⊙▲⊙▲⊙▲⊙▲⊙▲⊙▲◤ 俺的地盘俺做主/MMMM\
老顽童的游乐场


俺的地盘俺做主
系统分类: 单片机
用户分类: 菜农的HotComm串口控件
标签: 无标签
来源: 原创
发表评论 阅读全文(135) | 回复(0)

1

关于投票
HotComm之GPS零耗时解码方案与实现方法

HotComm之GPS零耗时解码方案与实现方法

由于HotComm采用数据流间隙的线程解码,故在数据流到包尾后校验和已得出。
立即可知是否为GPS有效数据。

再深层次分析:
由于NMEA0183语句是由“字符串数组”组成的,故HotComm可以轻松地在遇到
‘,’或'*'时,先将计算校验和后立即将其强行写入‘\0',这样就
转换成了以零字符组成的不等长“无头字符串数组”。

所以只要设置N维(强行写入‘\0'的个数)字符串数组指针即可。
这样HotComm就可在Input()中返回该指针和项数(数组维数)就搞定了~~~

访问如同GpsArray[0] == "GPRMC";GpsArray[1] == "030545";
可惜最近菜农不用GPS~~~否则一定将此思路移植到HotComm中~~~

再再深层次,可以设置结构指针~~~这样可以将数字和字符直接分离,免得再进行繁重
的类型转换问题~~~例如东8区和海里问题~~~


菜农HotPower@126.com   2008.7.12 于西安大雁塔菜地.

点击看大图

 

系统分类: 单片机
用户分类: 无分类
标签: 无标签
来源: 原创
发表评论 阅读全文(226) | 回复(0)

1

关于投票
菜农拣菜不用刀---很暴力很强大的HotComm即将发布
hotpower 发表于 2008-7-12 14:47 侃单片机 ←返回版面 按此察看该网友的资料 按此把文章加入收藏夹 按此编辑本帖

楼主: 菜农拣菜不用刀---很暴力很强大的HotComm即将发布

哈哈~~~小朋友http://www.hotpage.net.cn/才是发布人~~~



俺有http://www.hotpower.org/了~~~
点击看大图

hotpower 发表于 2008-7-12 14:48 侃单片机 ←返回版面 按此察看该网友的资料 按此把文章加入收藏夹 按此编辑本帖

2楼: HotComm_InstallReceiveDataCallback()

 

点击看大图

hotpower 发表于 2008-7-12 14:49 侃单片机 ←返回版面 按此察看该网友的资料 按此把文章加入收藏夹 按此编辑本帖

3楼: 哈哈~~~拣菜过程是在线程了的~~~

设置很方便~~~楼主位的贴图设置为:
HotComm_InstallReceiveCallback (CommPort, 0x55, 0xaa, -4, 512, (HotCommCallbackPtr)HotCommReceiveCallback);
/*----------------------------------------------
HotComm_InstallReceiveCallback (CommPort, 0x55, 0xaa, -4, 200, (HotCommCallbackPtr)HotCommReceiveCallback);
FF cd 55 00 01  AA 32 2 1
ab cd 22 55 00 01 03 aa 44
123456ff cd 55 02 03  A A 68 2 1
22 55 04 05 06 a a 44
345689 cd 550405  aa 32 8 7
22 55 04 05 06 aa 44
345689 cd 55 060 7  aa 32 8 7
12 2 3 cd 55 08 09 AA 32 7 1
345689 cd 550a 0b cd  aa 32 8 7
32 4445 cd 550a 0b   aa 32 8 7
55 0c 0d aa 55 0e 0f a A
1234567 890ab cdef
hotpower 发表于 2008-7-12 15:04 侃单片机 ←返回版面 按此察看该网友的资料 按此把文章加入收藏夹 按此编辑本帖

4楼: 菜地公告依然有效~~~欢迎长着各种颜色头发的高手接着

菜地公告: 菜农将倒塌世界上所有的串口控件
hotpower 发表于 2007-6-17 16:54 侃单片机 ←返回版面   举报该贴

欢迎长着各种颜色头发的高手接着,包括LabWindows/CVI的缔造者NI的大鼻子~~~

准备进行植入菜农倒塌的脑浆~~~让任何协议及串口助手等都倒塌~~~




哈哈~~~1年了~~~

菜地公告: 菜农将倒塌世界上所有的串口控件

系统分类: 单片机
用户分类: 菜农的HotComm串口控件
标签: 无标签
来源: 原创
发表评论 阅读全文(221) | 回复(0)
总共 , 当前 /