|
kennan 发表于 2011-8-24 21:26
底层有一个函数负责接收所有的消息,但是会根据消息里面的ep来给相应ep对应的任务发消息,。如果多ep共用一 ...
刚才看了老师的文章,有些地方不敢苟同,请老师指正!
如下是葵花宝典中一段话:
Endpoints are the mechanism used to distinguish one application from another.
那么显然在端点用来区分不同的应用的,比如说在一个设备上有灯和空调,那么着两者就会有不同的端点号。这点是协议上规定的,端点是必须唯一的。
那么在协议栈的里面,就是在OSAL中,这两者是没有必要一定是建立在不同的任务下的。不同的端点属于不同的事件就可以了区分了,因为在协议栈里,同一个任务下可以建立多个事件(最大15个)。
至于关于消息和端点之间的关系:
我认为消息和端点之间的关系,对于OSAL来说,这个事没意义。当任务发生时,OSAL只为每个任务发送消息(这个消息是所有事件的),而不是为每个事件分配消息。而端点则是具体的是为了实现源设备和目标设备之间的连接,这个与协议栈无关,协议栈也不会去理会这些关系,协议栈只会去理会端点对应的事件发生的事情。
端点和消息这两者是各司其职的。如果说两者有关系,那么着就是端点对应的事件发生了,事件在进行处理的时候,会读取消息队列中消息。
希望毛毛老师能批评指正! |
|