CAN总线上有两个节点,ARM9+SJA1000+tja1040主发送,LPC2294自带CAN1+tja1040只接收
测试时,数据区是一个字节的数据byte1, 在byte1的第7位即bit6是低时,sja1000发送和LPC2294的接收都正常,各种速率下都接收正确,如byte1的数据0xbf和0x00变化; 在byte1的bit6设置过高后,LPC2294接收出错,如byte1由0x00变为0xcf后,接收到的数值始终为0xcf; 硬件上,SJA1000的连接无短路;
试过了所有的波特率参数设置值;用两个LPC2294作节点测试是一切正常,问题应该是出在SJA1000这边, 初始化过程:(晶振11.0592MHz,波特率251.3k) CAN_MODE=0x07; CAN_CDR=0xc8; CAN_BTR0=0x00; CAN_BTR1=0x4f; CAN_OCR=0x1a; CAN_MODE=0x08;
请教大家:为何会在字节的中间1位出现问题? 感谢回答!! |