打印

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

[复制链接]
2888|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hephi|  楼主 | 2008-5-5 23:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
采用RS485通信方式,要求分机的程序必须相同,怎么设定分机地址?
本人想过:
一、用波段开关设定分机地址,分机启动时读出设定的地址,波段开关直接占用IO口。但是浪费了IO口,成本提高了。
二、为了节约IO口及成本,改用并入串出74HC165,波段开关与74HC165相连,分机启动时通过165读出设定的地址,不知可行否?
不知谁有高见,不腻赐教!
谢谢讨论!
//
我用的STC的单片机,STC12C2051,内含flash data,可以保存防丢失的数据,但我想让装备员在装备时设定地址,地址必须和操作键盘对应起来。所以EEROM或flash data行不通。用拨码/跳针我看行,但就是占用IO口。

从矩阵键盘联想出来的办法:占用8个IO口,4*4=16,减去4个按键,还有12个按键,相当于可设定12路地址。其余IO口作通信和控制用用,已经足够了。

相关帖子

沙发
chunyang| | 2008-5-6 00:56 | 只看该作者

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

    如某些MCU有EEPRM区,有的则可以对FLASH区进行IAP,然后用软件设置,甚至可以进行自动设置,前段时间还有个相关帖,不妨翻出来看看。

使用特权

评论回复
板凳
hotpower| | 2008-5-6 00:59 | 只看该作者

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

使用特权

评论回复
地板
xwj| | 2008-5-6 01:14 | 只看该作者

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

使用特权

评论回复
5
hotpower| | 2008-5-6 01:17 | 只看该作者

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

使用特权

评论回复
6
hq_y| | 2008-5-6 01:22 | 只看该作者

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

使用特权

评论回复
7
后学| | 2008-5-6 08:36 | 只看该作者

拨码/跳针/FLASH/EEPROM

也可以放在程序存储器中,编程器编程时递加,缺点就是不能改变了。。。

使用特权

评论回复
8
zusen| | 2008-5-6 09:15 | 只看该作者

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

通过命令(协议)来更改ID

使用特权

评论回复
9
tangzzbb| | 2008-5-6 10:31 | 只看该作者

放在E2PROM中是正解!

我一般是这样做的:
1>E2PROM最好是CPU内部的,或者用内部Flash虚拟;放置ID的区域,最好同时存有ID的校验码,以保证数据可靠。
2>在程序区留序列号,首先在烤写程序时,把序列号同时写入芯片,这样,保证每一个产品都有一个唯一的序列号编码。
3>通讯用的ID放在E2PROM中,在校验错误(未设置或异常出错)时自动启用默认值并重新写入E2PROM。默认值一般取序列号的后几个字节。
4>在所用通讯口中添加需要双向鉴权的,较为复杂的改正ID的指令或协议,这样在通讯中可随时更改ID。
5>预留组ID号,以免不知ID号时造成无法通讯的情况,或需要组呼的情况。

使用特权

评论回复
10
mengjicheng| | 2012-11-18 11:12 | 只看该作者
像合泰,松翰都有种子烧写的功能,有的又叫做磙码烧录

使用特权

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

本版积分规则

10

主题

27

帖子

1

粉丝