本文整理汇总了C++中Serial::close方法的典型用法代码示例。如果您正苦于以下问题:C++ Serial::close方法的具体用法?C++ Serial::close怎么用?C++ Serial::close使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Serial
的用法示例。
在下文中一共展示了Serial::close方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: DllMain
BOOL APIENTRY DllMain(HMODULE /*module*/, DWORD reason_for_call, LPVOID /*reseved*/)
{
if (reason_for_call == DLL_PROCESS_DETACH)
{
serial_port.close();
}
return TRUE;
}
示例2: scs_telemetry_shutdown
SCSAPI_VOID scs_telemetry_shutdown(void)
{
send_empty_packet();
serial_port.close();
game_log(SCS_LOG_TYPE_message, "Plugin shutdown");
game_log = NULL;
}
示例3: main
int main(int argc, char* argv[])
{
printf("[i] Start... \n");
Serial serial;
#if defined(WIN32)
serial.open(SERIAL_PORT_NAME, SERIAL_PORT_RATE, true);
#elif defined(LINUX)
serial.open(SERIAL_PORT_NAME, SERIAL_PORT_RATE);
#endif
if(!serial.connected())
{
printf("[!] Cant open port!\n");
return -1;
}
char c = 'y';
int res = 12;
char buf[BUF_SIZE1];
memset(buf, 0, BUF_SIZE1);
while(true)
{
serial.write( &c, 1 );
#if 0
if(res = serial.available()){
if( res = serial.Read(buf, res) ){
printf("%d %s\n", res, buf);
}
}
#else
if(serial.waitInput(1000)==0)
printf("[i] timeout!\n");
else
{
if(res = serial.available())
{
res = serial.read(buf, res);
printf("%d %s\n", res, buf);
}
}
#endif
}
serial.close();
printf("[i] End.\n");
return 0;
}
示例4: main
int main(int argc, char **argv)
{
ros::init(argc, argv, "robot_4wd_node");
ros::NodeHandle n;
drive_telemetry_pub = n.advertise<ros_4wd_driver::drive_telemetry_4wd>("drive_telemetry_4wd", 50);
sensors_telemetry_pub = n.advertise<ros_4wd_driver::sensors_telemetry_4wd>("sensors_telemetry_4wd", 50);
imu_raw_data_pub = n.advertise<ros_4wd_driver::imu_raw_data>("imu_raw_data", 50);
motor_service = n.advertiseService("motor_write", motor_write);
odom_pub = n.advertise<nav_msgs::Odometry>("odom", 50);
cmd_vel_sub = n.subscribe<geometry_msgs::Twist>("cmd_vel", 1, cmd_vel_received);
ROS_INFO("Start");
ROS_INFO("Load params");
if (n.hasParam("/robot_4wd_node/drive_port")) {
ROS_INFO("Load param: drive_port");
n.getParam("/robot_4wd_node/drive_port", drive_serial_name);
}
if (n.hasParam("/robot_4wd_node/sensor_port")) {
ROS_INFO("Load param: sensor_port");
n.getParam("/robot_4wd_node/sensor_port", sensors_serial_name);
}
if (n.hasParam("/robot_4wd_node/baud")) {
ROS_INFO("Load param: baud");
n.getParam("/robot_4wd_node/baud", serial_rate);
}
n.param("/robot_4wd_node/wheel_diameter", wheel_diameter, wheel_diameter);
n.param("/robot_4wd_node/wheel_track", wheel_track, wheel_track);
n.param("/robot_4wd_node/gear_reduction", gear_reduction, gear_reduction);
n.param("/robot_4wd_node/encoder_resolution", encoder_resolution, encoder_resolution);
ticks_per_meter = encoder_resolution * gear_reduction / (wheel_diameter * M_PI);
ROS_INFO("drive_port: %s", drive_serial_name.c_str());
ROS_INFO("sensor_port: %s", sensors_serial_name.c_str());
ROS_INFO("baud: %d", serial_rate);
ROS_INFO("ticks_per_meter: %.2f", ticks_per_meter);
ROS_INFO("Open ports");
if( drive_serial.open(drive_serial_name.c_str(), serial_rate) ) {
ROS_ERROR("Cant open port: %s:%d", drive_serial_name.c_str(), serial_rate);
return -1;
}
if( sensors_serial.open(sensors_serial_name.c_str(), serial_rate) ) {
ROS_WARN("Cant open port: %s:%d", sensors_serial_name.c_str(), serial_rate);
}
#if 0
orcp2::ORCP2 orcp(drive_serial);
for(int i=0; i<7; i++) {
int val = i%2;
printf("%d\n", val);
orcp.digitalWrite(13, val);
orv::time::sleep(500);
}
#endif
boost::thread drv_thread(&drive_thread);
boost::thread snsr_thread(&sensors_thread);
while (ros::ok()) {
ros::spin();
}
global_stop = true;
drv_thread.join();
snsr_thread.join();
drive_serial.close();
sensors_serial.close();
ROS_INFO("End");
return 0;
}