采用RS485,要求分机的程序必须相同,怎么设定分机地址?

[复制链接]
4053|9
 楼主| hephi 发表于 2008-5-5 23:55 | 显示全部楼层 |阅读模式
采用RS485通信方式,要求分机的程序必须相同,怎么设定分机地址?<br />本人想过:<br />一、用波段开关设定分机地址,分机启动时读出设定的地址,波段开关直接占用IO口。但是浪费了IO口,成本提高了。<br />二、为了节约IO口及成本,改用并入串出74HC165,波段开关与74HC165相连,分机启动时通过165读出设定的地址,不知可行否?<br />不知谁有高见,不腻赐教!<br />谢谢讨论!<br />//<br />我用的STC的单片机,STC12C2051,内含flash&nbsp;data,可以保存防丢失的数据,但我想让装备员在装备时设定地址,地址必须和操作键盘对应起来。所以EEROM或flash&nbsp;data行不通。用拨码/跳针我看行,但就是占用IO口。<br /><br />从矩阵键盘联想出来的办法:占用8个IO口,4*4=16,减去4个按键,还有12个按键,相当于可设定12路地址。其余IO口作通信和控制用用,已经足够了。
chunyang 发表于 2008-5-6 00:56 | 显示全部楼层

想节省成本可以选用支持非易失数据存储的MCU

&nbsp;&nbsp;&nbsp;&nbsp;如某些MCU有EEPRM区,有的则可以对FLASH区进行IAP,然后用软件设置,甚至可以进行自动设置,前段时间还有个相关帖,不妨翻出来看看。
hotpower 发表于 2008-5-6 00:59 | 显示全部楼层

AVR一般都有真正的EEPROM~~~不用假的"EEPROM"还要IAP~~~

  
xwj 发表于 2008-5-6 01:14 | 显示全部楼层

是的,现在很多很多mcu都能存放可修改的数据的

  
hotpower 发表于 2008-5-6 01:17 | 显示全部楼层

不过FLASH的IAP确实也很方便,不过都是扇区擦写的有点不爽~~~

  
hq_y 发表于 2008-5-6 01:22 | 显示全部楼层

编一个上位机程序一个一个配置

  
后学 发表于 2008-5-6 08:36 | 显示全部楼层

拨码/跳针/FLASH/EEPROM

也可以放在程序存储器中,编程器编程时递加,缺点就是不能改变了。。。
zusen 发表于 2008-5-6 09:15 | 显示全部楼层

一般我的ID是存在EEPROM里的,呵呵

通过命令(协议)来更改ID
tangzzbb 发表于 2008-5-6 10:31 | 显示全部楼层

放在E2PROM中是正解!

我一般是这样做的:<br />1&gtE2PROM最好是CPU内部的,或者用内部Flash虚拟;放置ID的区域,最好同时存有ID的校验码,以保证数据可靠。<br />2&gt在程序区留序列号,首先在烤写程序时,把序列号同时写入芯片,这样,保证每一个产品都有一个唯一的序列号编码。<br />3&gt通讯用的ID放在E2PROM中,在校验错误(未设置或异常出错)时自动启用默认值并重新写入E2PROM。默认值一般取序列号的后几个字节。<br />4&gt在所用通讯口中添加需要双向鉴权的,较为复杂的改正ID的指令或协议,这样在通讯中可随时更改ID。<br />5&gt预留组ID号,以免不知ID号时造成无法通讯的情况,或需要组呼的情况。
mengjicheng 发表于 2012-11-18 11:12 | 显示全部楼层
像合泰,松翰都有种子烧写的功能,有的又叫做磙码烧录
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

27

帖子

1

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