1)资料上说: 当单个SJA1000芯片发送CAN信息帧时,会无法收到总线上其他节点的确认信息,从而判断本节点本次发送过程失败,导致自动进入“重发”模式,发送错误计数器值增加;如果值超过限值,SJA1000芯片将发生总线离线,进入复位状 态.因此每次发送完成后,建议使用中止发送来进行单步发送
中止发送来进行单步发送 是不是当发送中断后,在中断里,对CMR.AT位,置位,来停止重发啊??
2)<<SJA1000 独立的CAN 控制器应用指南>>和<<sja1000手册>>中的"中止发送位"部分,和流程图,我看得不是很明白. 上面说 一个报文在发送缓冲器中等待发送,发送缓冲器会锁定,如果这时候要求发送一个更紧急报文,置位命令寄存器里中止发送位. 请问 置位命令寄存器里中止发送位后,会发生什么情况啊?资料和流程图里都没有写. a)CMR.AT置位后,发送缓冲器是不是会被释放,原先的报文会自动取消吗? b)置位后,马上可以写入更紧急的报文吗?需要进行发送缓存器检查?是马上可以检查,还是要延时一段时间才对发送缓存器进行检查.
谢谢,,
|