Q1：调用BM_Write总是发送超时，可能是哪些原因？
A1：超时代表无法发送报文至总线，或者虽然发送至总线了但是我方没有收到自动回应（这是CAN协议的底层机制，由硬件自动完成）。导致这个问题的原因很多，建议先尝试使用经过验证的Busmaster上位机打开同样的端口，使用同样的波特率等配置参数，尝试发送，观察是否发送成功，不成功则修改配置参数。待Busmaster调试通过后再回到开发环境中，使用跟Busmaster一致的配置参数来初始化通道。


Q2：某种原因发送超时之后，就再也无法成功发送了，提示BUSOFF。
A2：同样的建议，首先请使用Busmaster保证能够稳定收发，然后再到二次开发软件里尝试发送。您可以参考前文中的“常见问题”章节来了解如何在Busmaster中排查BUSOFF问题。另外，您可以参考后文中的“故障恢复”章节，了解如何在意外出现BUSOFF故障之后，从故障状态中恢复并继续收发操作。


Q3：BMAPI中的各个函数操作，支持多线程吗？
A3：各个WriteXXX和ReadXXX函数均支持多线程，但是OpenEx和各个SetXXX函数不支持多线程。


Q: BM_WriteMultipleCanMessage这个对一次发送到can消息数量有限制吗？
A: 反正内部就是1MB的发送缓冲区，大约最多能装25000条报文