初级会员

- 积分
- 148
- 金钱
- 148
- 注册时间
- 2019-9-17
- 在线时间
- 21 小时
|
本帖最后由 WeiSD 于 2019-12-28 12:31 编辑
注:协议栈遵循了良好的代码编写规范
这个协议栈实现虽然是根据我目前的项目写的,并没有实现MQTT规范的所有内容,但已经被我抽象为一个单独的模块,与外部并无耦合,是纯软件的东西,比如MQTT的驱动接口,我声明了一个外部变量 MQTT_Send :
- /*!
- * @brief 声明MQTT发送数据函数指针,通过这种方式实现MQTT层与数据传输层解耦合,该函数来自外部
- *
- * @param buffer,待发送数据存储地址
- * size,待发送数据字节数
- *
- */
- extern void (*MQTT_Send)(uint8_t *buffer,uint32_t size);
复制代码 这个MQTT的驱动函数则需要根据各自的驱动实现。通过这种方式与驱动层解耦合。
还有,与MQTT协议中与硬件有关的定时服务,比如发送一个控制报文后的连接超时函数,需要根据各自的时间服务模块自己定义。
|
|