msg_pub
#include "ros/ros.h"
#include "bingda_practices/student.h"//student.msg头文件,在编译后生成
int main(int argc, char **argv){
ros::init(argc,argv,"msg_pub");
ros::NodeHandle n;
ros::Publisher chatter_pub = n.advertise<bingda_practices::student>("student_info",1000);
ros::Rate loop_rate(10);
uint8_t count = 0;
while (ros::ok())
{
bingda_practices::student student;
student.first_name = "bingda";
student.last_name = "robot";
student.age = count;
student.score = 100;
chatter_pub.publish(student);
ros::spinOnce();
loop_rate.sleep();
++count;
}
return 0;
}
msg_sub
#include "ros/ros.h"
#include "bingda_practices/student.h"
//回调函数
void Callback(const bingda_practices::student::ConstPtr& msg ){
ROS_INFO("student name is %s %s;age is %d;score is %d.",msg->first_name.c_str(),msg->last_name.c_str(),msg->age,msg->score);
}
int main(int argc, char **argv){
ros::init(argc,argv,"msg_sub");
ros::NodeHandle n;
ros::Subscriber sub = n.subscribe("student_info",1000,Callback);
ros::spin();
return 0;
}