打印
[CAN-bus/DeviceNet]

如何用sst89e516读sja1000寄存器

[复制链接]
2249|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的内容。

所以先查看e516的datasheet,看其地址范围,然后再改变SJA1000的基地址(往高地址选择),应该就可以正常读取了。
2,WR,RD,ALE,这三个必需接。单片机会自动动作。
3,定义一个基地址只为编程方便,你也可以直接定义每一个寄存器的实际地址。只是这样如果需要修改会比较麻烦。

大二的就开始玩这个不错呀,好好加油~!其实没什么难度的,可以在这个论坛或者我们的论坛多(www.5i51arm.com)看看吧,应该会有些帮助的。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

2

帖子

1

粉丝