tencentOS tiny跟模组交互封装了一层SAL供开发者(YOU)使用:
源码目录是:.\net\sal_module_wrapper.
使用范例很多如tcp_test.c.
函数入口application_entry(void*arg)创建一个任务test0 往服务器发送数据,例子我觉得有不好地方,就是如:
socket_id_0 = tos_sal_module_connect("39.108.190.129", "8080", TOS_SAL_PROTO_TCP);
if (socket_id_0 == -1) {
printf("TCP0 connect failed\r\n");
} else {
printf("TCP0 connect success! fd: %d\n", socket_id_0);
}
这里socked_id_0创建失败时并没有test0任务并没有进行判断,虽然AT 框架层有对socked_id_0进行-1判断,但是使用这边还是没有,任务相当于一直无效的运行着,也不知Tencent的engineer是否觉得应用层无需考虑创建失败这一处理?
总结:看TencentOS tiny主要想学习模组交互这块,我负责过两个项目都是外挂4G和3G模块,代码都是自己写的,感觉比较简单直白,SAL层这种东西也没考虑过,当是学习,这样可以分离开模组交互AT指令和应用层,这样换个模组我们应用层无需做改动。