OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2644|回复: 7

怎样才能方便的改程序里的参数

[复制链接]

5

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
77
金钱
77
注册时间
2017-9-21
在线时间
25 小时
发表于 2017-11-19 20:57:57 | 显示全部楼层 |阅读模式
1金钱
比如我有一个STM32组的网络,一个主机,100个从机。从机的区分靠不同的从机地址,从机基本程序是一样的,就是从机地址这个参数不同。
那我100个从机,还需要100套不同的代码?----每个从机一套代码(仅仅是从机地址这个参数不同)。
直觉太傻太傻了,我想了下,有以下几种可能的方案:
1,从机程序里搞个改从机地址的函数,通过串口接收命令来改从机地址。
2,ST-Link是不是可以直接读firmware?那给从机地址这个参数分配一个固定的地址,直接改这个地址里存的参数值?
3,我看很多商用的小模块,都是有配置参数的小程序的,比如改波特率,校验位什么的,这种小程序一般都是怎么做的?可有模板可以套?
我是新手,请大家给我建议一个比较容易实现的方案,谢谢。

最佳答案

查看完整内容[请看2#楼]

可以配合上位机来做,其实就是做一个封装好具有固定功能的串口助手;举个例子以串口通讯为例: 比如 修改 波特率 先使用默认波特率连接上位机软件, 然后下发配置数据 到单片机, 单片机首先存储在 flash 里面 或者 EEPROM 里面,然后断电,下次上电先读取参数,配置串口通讯数据 修改地址也一样, 我们使用 modbus 的时候 配置地址就是使用这种方式 上位机 用什么语言来做都可以 VB C# QT Python 都能做 或者 ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

111

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1085
金钱
1085
注册时间
2015-5-22
在线时间
607 小时
发表于 2017-11-19 20:57:58 | 显示全部楼层
本帖最后由 ADS1993 于 2017-11-19 22:53 编辑

可以配合上位机来做,其实就是做一个封装好具有固定功能的串口助手;举个例子以串口通讯为例:
比如 修改 波特率  
先使用默认波特率连接上位机软件, 然后下发配置数据 到单片机,
单片机首先存储在 flash 里面 或者 EEPROM 里面,然后断电,下次上电先读取参数,配置串口通讯数据
修改地址也一样,  我们使用 modbus  的时候 配置地址就是使用这种方式

上位机 用什么语言来做都可以 VB C#  QT  Python   都能做


或者直接硬件实现也可以,前提是地址不能太多,以 modbus协议来说  最多 255 个从设备地址,
你可以用 8位 拨码开关 来实现地址设置
回复

使用道具 举报

5

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
77
金钱
77
注册时间
2017-9-21
在线时间
25 小时
 楼主| 发表于 2017-11-20 09:13:00 | 显示全部楼层
ADS1993 发表于 2017-11-19 22:43
可以配合上位机来做,其实就是做一个封装好具有固定功能的串口助手;举个例子以串口通讯为例:
比如 修改  ...

做这种上位机,或者说封装好具有固定功能的串口助手,麻烦吗?
这个看上去确实是一般通用的做法。
回复

使用道具 举报

3

主题

111

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1085
金钱
1085
注册时间
2015-5-22
在线时间
607 小时
发表于 2017-11-20 09:40:31 | 显示全部楼层
qilongzh 发表于 2017-11-20 09:13
做这种上位机,或者说封装好具有固定功能的串口助手,麻烦吗?
这个看上去确实是一般通用的做法。

这个不麻烦   自己定义好协议 然后 网上找个开源的版本 修改一下 就可以 没什么复杂的东西
回复

使用道具 举报

34

主题

322

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1838
金钱
1838
注册时间
2014-12-4
在线时间
717 小时
发表于 2017-11-20 11:51:47 | 显示全部楼层
可以参考原子的USMART
回复

使用道具 举报

4

主题

349

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1046
金钱
1046
注册时间
2017-5-19
在线时间
335 小时
发表于 2017-11-20 12:06:02 | 显示全部楼层
也可以用它芯片的96位ID来做
回复

使用道具 举报

5

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
77
金钱
77
注册时间
2017-9-21
在线时间
25 小时
 楼主| 发表于 2017-11-21 08:21:23 | 显示全部楼层
ADS1993 发表于 2017-11-20 09:40
这个不麻烦   自己定义好协议 然后 网上找个开源的版本 修改一下 就可以 没什么复杂的东西

好,谢谢,我找找看。
回复

使用道具 举报

24

主题

695

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1666
金钱
1666
注册时间
2016-4-29
在线时间
266 小时
发表于 2017-11-21 08:33:35 | 显示全部楼层
如果有显示界面的话,可以增加菜单
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-26 19:12

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表