OpenEdv-开源电子网

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

使用libmodbus库在linux中为arm开发板编写Modbus的tcp的服务器函数,板子运行出现Segmentation fault?

[复制链接]

1

主题

9

帖子

0

精华

新手上路

积分
34
金钱
34
注册时间
2019-10-7
在线时间
7 小时
发表于 2020-2-17 18:07:09 | 显示全部楼层 |阅读模式
8金钱
程序里只要出现    mb_mapping->tab_registers[0] = 1;  这句话或者类似的,就会报错:Segmentation fault。
#define BITS_ADDRESS 1                                 //这个程序作为server的寄存器的起始地址
#define BITS_NB 50                                      //这个程序作为server的线圈的数量
#define INPUT_BITS_ADDRESS 1                     //这个程序作为server的输入线圈的起始地
#define INPUT_BITS_NB 50                                 //这个程序作为server的输入线圈的数量
#define REGISTERS_ADDRESS 1                //这个程序作为server的保持寄存器的起始地址
#define REGISTERS_NB 50                        //这个程序作为server的保持寄存器的数量
#define INPUT_REGISTERS_ADDRESS 1    //这个程序作为server的输入寄存器的起始地址
#define INPUT_REGISTERS_NB 50                 //这个程序作为server的输入寄存器的数
int main(void){
modbus_mapping_t *mb_mapping = NULL;
mb_mapping = modbus_mapping_new(BITS_NB, INPUT_BITS_NB, REGISTERS_NB, INPUT_REGISTERS_NB);
mb_mapping->tab_registers[0] = 1; (只要有类似这样的话就会出错)
……

批注 2020-02-17 175537.png
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

9

帖子

0

精华

新手上路

积分
34
金钱
34
注册时间
2019-10-7
在线时间
7 小时
 楼主| 发表于 2020-2-19 21:19:51 | 显示全部楼层
回复

使用道具 举报

0

主题

12

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
204
金钱
204
注册时间
2018-5-8
在线时间
50 小时
发表于 2021-3-16 13:24:13 | 显示全部楼层

咋弄的啊铁汁
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-25 21:52

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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