嵌入式一般做法A: runModule是U16 拿到里面去BIT赋值 log(DEBUG,"p->runModule=%08X\r\n", p->runModule); #define BT_USE_BM77 1<<12 #define BT_USE_BB0906 1<<13 #define NFC_USE_ST25 1<<8 #define NFC_USE_ST95 1<<9 #define NET_USE_GPRS 1<<0 #define NET_USE_WIFI 1<<1 #define NET_USE_ETH 1<<2 _ _ _ _|_ _ _ _|_ _ _ _|_ _ _ _ GPS WIFI ST25 ETH ST95 BM77 0906 举例:p->runModule=00002101 0000无视 不需要 02代表0906 10代表ST25 01代表GPS 嵌入式一般做法B: 再来转化一下: uint8_t defaultDeviceModel[20]="A"; 也就是其实前面4个是有效的!! A---死的 1--ST25---不可能是0因为没有ST95了 1--【0--BM77 2--0906 】 1--【1--GPS 2--WIFI 3-ETH】 举例:A 就是我桌上的ST25+0906+ETH 现在有一个20的数组!!! 定义一下: #define DEVICE_NFC_TYPE_BIT 1 #define DEVICE_NFC_TYPE_ST95 '0' #define DEVICE_NFC_TYPE_ST25 '1' #define DEVICE_NFC_TYPE_NXP663P '2' #define DEVICE_BT_TYPE_BIT 2 #define DEVICE_BT_TYPE_BM77 '0' #define DEVICE_BT_TYPE_BB0906 '2' #define DEVICE_NET_TYPE_BIT 3 #define DEVICE_NET_TYPE_GPRS '1' #define DEVICE_NET_TYPE_WIFI '2' #define DEVICE_NET_TYPE_ETH '3' 第一个也就是 defaultDeviceModel[3]=的含义 if( info.runModule & NET_USE_GPRS ) { cfg.parm.support_net_types = TSLNetType_TSLGPRS; cfg.parm.net_type= TSLNetType_TSLGPRS; cfg.parm.deviceModuleSn[DEVICE_NET_TYPE_BIT] = DEVICE_NET_TYPE_GPRS; } else if( info.runModule & NET_USE_WIFI ) { cfg.parm.support_net_types = TSLNetType_TSLWIFI; cfg.parm.net_type= TSLNetType_TSLWIFI; cfg.parm.deviceModuleSn[DEVICE_NET_TYPE_BIT] = DEVICE_NET_TYPE_WIFI; } else if( info.runModule & NET_USE_ETH ) { cfg.parm.support_net_types = TSLNetType_TSLEthernet; cfg.parm.net_type= TSLNetType_TSLEthernet; cfg.parm.deviceModuleSn[DEVICE_NET_TYPE_BIT] = DEVICE_NET_TYPE_ETH; } else { log(WARN,"联网模块模式有问题\n"); } 第2个也就是 defaultDeviceModel[2]=的含义 if( info.runModule & BT_USE_BM77 ) { cfg.parm.deviceModuleSn[DEVICE_BT_TYPE_BIT] = DEVICE_BT_TYPE_BM77; } else if( info.runModule & BT_USE_BB0906 ) { cfg.parm.deviceModuleSn[DEVICE_BT_TYPE_BIT] = DEVICE_BT_TYPE_BB0906; } else { log(WARN,"蓝牙模块模式有问题\n"); } 第3个也就是 defaultDeviceModel[1]=的含义 if( info.runModule & NFC_USE_ST95 ) { cfg.parm.deviceModuleSn[DEVICE_NFC_TYPE_BIT] = DEVICE_NFC_TYPE_ST95; } else if( info.runModule & NFC_USE_ST25 ) { cfg.parm.deviceModuleSn[DEVICE_NFC_TYPE_BIT] = DEVICE_NFC_TYPE_ST25; } else { log(WARN,"NFC模块模式有问题\n"); }
讯享网

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/120567.html