现在驱动了一个外设芯片,对时序要精确到数十us,没开蓝牙及tmos可正常工作,开启蓝牙后外设会发生一定概率出错。想请问蓝牙或tmos底层是否有中断会短暂抢占任务?
如果有时间大致为多长?
有没有办法暂时屏蔽后再开启,这样做会大致什么后果?
热门产品 :
CH32V317: 互联型青稞RISC-V MCU
现在驱动了一个外设芯片,对时序要精确到数十us,没开蓝牙及tmos可正常工作,开启蓝牙后外设会发生一定概率出错。想请问蓝牙或tmos底层是否有中断会短暂抢占任务?
如果有时间大致为多长?
有没有办法暂时屏蔽后再开启,这样做会大致什么后果?
您好,蓝牙协议栈采用轮询任务,并非抢占式。在蓝牙库中,只是有蓝牙的中断处理。蓝牙中断默认优先级为0。CH58x系列有两级中断嵌套,您可以在初始化蓝牙后,将蓝牙的抢占优先级降低为1,高优先级代码中断优先级为0即可。
也可以在操作外设的时候关闭全局中断,操作完成再打开。
好的 谢谢