从SYD8811/SYD8810/SYD8801芯片的规格书上我们知道协议栈占用了Timer3这个定时器,SYD8821的协议栈占用了Timer0这个定时器!如果使用了SystemTimer的lib的话SYD8811/SYD8810的SystemTimer占用了Timer0,SYD8821占用了Timer4(也就是说SYD8811/SYD8810/SYD8801只有Timer1和Timer2,SYD8821有Timer1,Timer2,Timer3给用户任意使用).
既然协议栈占用了定时器,那就说明协议栈在某些时候会打开这些定时器用于协议栈的定时处理!在ble_init函数中关于定时器唤醒源的配置是对于芯片所有定时器的设置,如果关闭了定时器唤醒源的功能,那么蓝牙就有可能发生不可预期的错误!比如断线,比如广播超时不能够正常上报等等!所以定时器的唤醒源是不能够被关闭的!