共2条
1/1 1 跳转至页
问
我现在没做自收自发。
我现在就想知道数据有否发出成功(SJA的TXD和RXD没连接),调试了程序。
在发送数据后读状态寄存器,读到0X82,即发送完成和总线错误。我想问,没连接TXD和RXD会出现总线错误吗?
还有一问。我调试时采用的是自发自收命令,有中断信号产生。一旦我用单纯的发送的命令,就没中断信号了,不知道为什么?
答 1: 回复主题:请问自收自发问题能把你的自收发程序贴来看看吗? 答 2: CAN自收发必须要收发器,没连接TXD和RXD会出现总线错误. 答 3: 再问zlgCAN我调试时采用的是自发自收命令(0X12),有中断信号产生。一旦我用单纯的发送命令(0X01),就没中断信号了,不知道为什么? 答 4: re自收发没有中断才不正常 答 5: 人家说的就是自收发有中断,单纯发送没有中断啊 答 6: 发送怎么还是总线错误我把收发模块接上去了,怎么还是收到0X82,即总线错误和发送完成? 答 7: 再问zlgCANzlgCAN:一般总线错误是有哪几种情况造成的?
还有自收发不是该有接收中断吗?是不是总线错误造成接收中断没有 答 8: re明确一点,自收发成功才有接收中断,自收发错误一样会出现总线错误中断 答 9: 谢谢stars_txx再问stars_txx。我定义如下:
#define REG_MODE_DATA 0x0C // 模式控制器: 单滤波器、自检测模式
#define T_R_CMD 0x12 // 产生一次自接收性质的报文发送,发送错误时不会重发
// 中断控制: 总线错误中断、发送中断、接收中断
SJA1000_WRITE(REG_INTENABLE,REG_INTENABLE_DATA); // 访问中断使能控制
然后发送,
TempData = SJA1000_CMD_PRG(T_R_CMD); // 产生一次自接收性质的报文发送,发送错误时不会重发
但就是收到0X82,即总线错误和发送完成。请帮我分析下可能存在的原因,谢谢! 答 10: re有几点必须注意,当设置模式寄存器的MOD.1~MOD.3时,必须在复位模式下进行。0x12并不是自收发请求正确的格式,0x12把睡眠位和停止位同时置位,这个我没试过所以,我不知道会出现什么后果正确应为0x03。要自收发成功,验收过虑最好设置为全接收方式 答 11: 一点看法各位:
我认为自发自收功能适用于调试软件逻辑功能是否正常的,
不需要在CANh,CANl接实际的电平。
答 12: re wangying80建议你去把CANh,CANl短路再进行自收发测试,看看出不出错,而不要想当然的说 答 13: 我也做不了自发自收我用的是82C250驱动器,用的内置CAN控制器的MCU,我想问要实现自发自收是不是要对82C250写一个什么控制字才行啊? 答 14: re82C250为电平转换器,本身不可编程
我现在就想知道数据有否发出成功(SJA的TXD和RXD没连接),调试了程序。
在发送数据后读状态寄存器,读到0X82,即发送完成和总线错误。我想问,没连接TXD和RXD会出现总线错误吗?
还有一问。我调试时采用的是自发自收命令,有中断信号产生。一旦我用单纯的发送的命令,就没中断信号了,不知道为什么?
答 1: 回复主题:请问自收自发问题能把你的自收发程序贴来看看吗? 答 2: CAN自收发必须要收发器,没连接TXD和RXD会出现总线错误. 答 3: 再问zlgCAN我调试时采用的是自发自收命令(0X12),有中断信号产生。一旦我用单纯的发送命令(0X01),就没中断信号了,不知道为什么? 答 4: re自收发没有中断才不正常 答 5: 人家说的就是自收发有中断,单纯发送没有中断啊 答 6: 发送怎么还是总线错误我把收发模块接上去了,怎么还是收到0X82,即总线错误和发送完成? 答 7: 再问zlgCANzlgCAN:一般总线错误是有哪几种情况造成的?
还有自收发不是该有接收中断吗?是不是总线错误造成接收中断没有 答 8: re明确一点,自收发成功才有接收中断,自收发错误一样会出现总线错误中断 答 9: 谢谢stars_txx再问stars_txx。我定义如下:
#define REG_MODE_DATA 0x0C // 模式控制器: 单滤波器、自检测模式
#define T_R_CMD 0x12 // 产生一次自接收性质的报文发送,发送错误时不会重发
// 中断控制: 总线错误中断、发送中断、接收中断
SJA1000_WRITE(REG_INTENABLE,REG_INTENABLE_DATA); // 访问中断使能控制
然后发送,
TempData = SJA1000_CMD_PRG(T_R_CMD); // 产生一次自接收性质的报文发送,发送错误时不会重发
但就是收到0X82,即总线错误和发送完成。请帮我分析下可能存在的原因,谢谢! 答 10: re有几点必须注意,当设置模式寄存器的MOD.1~MOD.3时,必须在复位模式下进行。0x12并不是自收发请求正确的格式,0x12把睡眠位和停止位同时置位,这个我没试过所以,我不知道会出现什么后果正确应为0x03。要自收发成功,验收过虑最好设置为全接收方式 答 11: 一点看法各位:
我认为自发自收功能适用于调试软件逻辑功能是否正常的,
不需要在CANh,CANl接实际的电平。
答 12: re wangying80建议你去把CANh,CANl短路再进行自收发测试,看看出不出错,而不要想当然的说 答 13: 我也做不了自发自收我用的是82C250驱动器,用的内置CAN控制器的MCU,我想问要实现自发自收是不是要对82C250写一个什么控制字才行啊? 答 14: re82C250为电平转换器,本身不可编程
共2条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动——B站互动赢积分】活动开启啦! | |
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |