buletoothDriveType btModule =
{
.init = bt_drive_init,
.send = bt_drive_send,
.read_mac = bt_drive_read_mac,
.read_version = bt_drive_read_version,
.set_default = bt_drive_set_default,
.resert = bt_drive_resert,
//.timer_isr = bt_drive_timer_isr,
};
这个东西 就是一个实例!!直接实例了!!赋值了!!从此btModule用的挺疯狂。
举一个例子:
void bt_drive_send( BleAppMsgType *prot , uint8_t *data , uint16_t length )
{
btDrv->send(prot->FormAddr , data , length , prot->Handle);
}
这就是实例和btDrv的对应了 函数指针!!!
而btDrv在前面完成了使命
btDrv = &BM77Drv;
或者
btDrv = &BB0906Drv;
从此btDrv基本就消失了。