[CAN-bus/DeviceNet] 如何用sst89e516读sja1000寄存器

[复制链接]
2905|1
 楼主| billyevans 发表于 2007-12-13 11:17 | 显示全部楼层 |阅读模式
我刚学51和can,用的是sst公司的sst89e516,请问如何用51读写sja1000上的寄存器呢?1,之前写程序在头文件里定义sja1000寄存器 #define xxx XBYTE[0x0x],发现读取的不是sja1000上的寄存器,像是读到单片机上的flash了。2,程序读写sja1000需要配置51上的WR,RD,ALE,AUXR吗?3,是不是要设置基地址呢,#define xxx XBYTE[0x0xxx+0x0x]。大二的,很多不懂,虚心请教,望不吝赐教,谢谢
桂电飞天鼠 发表于 2007-12-14 11:12 | 显示全部楼层

re

1,用e516其内部ROM比较大,而你所用使用的SJA1000的基地址又刚好在它的范围内,这样你读取就不可能会正确读取SJA1000的内容。<br /><br />所以先查看e516的datasheet,看其地址范围,然后再改变SJA1000的基地址(往高地址选择),应该就可以正常读取了。<br />2,WR,RD,ALE,这三个必需接。单片机会自动动作。<br />3,定义一个基地址只为编程方便,你也可以直接定义每一个寄存器的实际地址。只是这样如果需要修改会比较麻烦。<br /><br />大二的就开始玩这个不错呀,好好加油~!其实没什么难度的,可以在这个论坛或者我们的论坛多(www.5i51arm.com)看看吧,应该会有些帮助的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

2

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部