ros学习之modbus读写饲服电机数据

本文介绍了如何使用ROS结合Modbus RTU协议来读写伺服电机数据。首先确定电机的端口和波特率,然后通过代码建立通讯连接。提供了一段针对一个伺服电机的读写代码示例,实现电机的控制。要确保设备文件/dev/ttyUSB0具有正确权限。
摘要由CSDN通过智能技术生成

ros学习之modbus-rtu读写饲服电机数据

首先你得找到电机的端口号和波特率 ,然后声明句柄
部分代码(只写了一个电机的代码,第二个同理)

	modbus_t *mb=NULL;
	uint16_t mbbuf[10];//存放数据,可以根据你读取的数据字节,调节数组。
	std::string connection_port = "";
	int main(int argc, char **argv)
{
	ROS_INFO("scaning available port");
	bool is_connected = false;
	if(!(mb=modbus_new_rtu("/dev/ttyUSB0",19200,'N',8,1))) //声明modbus的句柄
	{
		if(modbus_set_slave(mb,1)==-1)//设置从机位置
            	{
                modbus_free(mb);
            	}
            	if(modbus_connect(mb)==-1)
		{
                modbus_free(mb);
            	}
            	modbus_set_response_timeout(mb,0,200000);//设置超时时间
            	int m_en = modbus_write_register(mb,0,1);//modbus使能
           	if(modbus_read_registers(mb,0,15,mbbuf)==1)//读取该地址中的数据。
            	{
                connection_port = "/dev/ttyUSB0";
    
  • 2
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Abril_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值