资源简介
Linux上的串口调试助手,GTK+2.0纯C语言编写,界面文件,源代码,注释,功能说明文档,bug说明都有。
代码片段和文件信息
#include
#include // printf
#include // open
#include // bzero
#include // exit
#include // times
#include // pid_t
#include //termios tcgetattr() tcsetattr()
#include
#include // ioctl
#include “serial.h“
/*********************全局变量声明区***************************************/
/********************** 串口设置 *************************************/
#define TTY_DEV “/dev/ttyUSB“ //端口路径
#define TIMEOUT_SEC(buflenbaud) (buflen*20/baud+2) //接收超时
#define TIMEOUT_USEC 0
int fdcom; //串口文件描述符
int status=0; // 串口状态 打开/关闭
/**********************串口设置参数**********************************/
char dev_temp;
guint baud_temp;
gchar databit_temp;
gchar checkbit_temp;
gchar stopbit_temp;
GMainLoop* loop;
GIOChannel* channel;
GSource* source;
gchar *serial_dev;
gchar *serial_baud;
gchar *check_bit;
gchar *data_bit;
gchar *stop_bit;
/***********************发送接受区的 textview 控件相关**********************/
GtkWidget *recv_show_textview*send_show_textview;
GtkTextBuffer *send_buffer*recv_buffer;
gchar show_data_buf[1024];
/***********************函数声明区******************************************/
void send_show ();
void recv_show (gchar *recv_data);
void char_to_int(gchar *ox_datagchar *char_data);
void int_to_char(gchar *char_datagchar *ox_data);
void thread1(void);
/**********************串口函数定义**************************************/
/*******************************************
* 获得端口名称
********************************************/
char *get_ptty(pportinfo_t pportinfo)
{
char *ptty;
switch(pportinfo->tty){
case ‘0‘:{
ptty = TTY_DEV“0“;
}break;
case ‘1‘:{
ptty = TTY_DEV“1“;
}break;
case ‘2‘:{
ptty = TTY_DEV“2“;
}break;
}
return(ptty);
}
/*******************************************
* 波特率转换函数(请确认是否正确)
********************************************/
int convbaud(unsigned long int baudrate)
{
switch(baudrate){
case 2400:
return B2400;
case 4800:
return B4800;
case 9600:
return B9600;
case 19200:
return B19200;
case 38400:
return B38400;
case 57600:
return B57600;
case 115200:
return B115200;
default:
return B9600;
}
}
/*******************************************
* Setup comm attr
* fdcom: 串口文件描述符,pportinfo: 待设置的端口信息(请确认)
*
********************************************/
int PortSet(int fdcom const pportinfo_t pportinfo)
{
struct termios termios_old termios_new;
int baudrate tmp;
char databit stopbit parity fctl;
bzero(&termios_old sizeof(termios_old));
bzero(&termios_new sizeof(termios_new));
cfmakeraw(&termios_new);
tcgetattr(fdcom &termios_old); //get the serial port attributions
/*------------设置端口属性----------------*/
//baudrates
baudrate = convbaud(pportinfo -> baudrate);
cfsetispeed(&termios_new baudrate); //填入串口输入端的波特率
cfsetospeed(&termios_new baudrate); //填入串口输出端的波特率
termios
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 135 2012-07-16 12:06 makefile
文件 27965 2012-07-17 20:12 serial.glade
文件 1337 2012-07-16 11:11 serial.h
文件 27965 2012-07-17 20:12 serial.xm
文件 23563 2012-07-17 20:02 serialtools
文件 18164 2012-07-17 20:02 serialtools.c
- 上一篇:C++五子棋源代码程序解析
- 下一篇:c++学生选课系统代码
相关资源
- 传教士野人渡河带界面
- MFC modBus 读写串口
- C语言编写的校园导游系统源代码 能运
- VC/MFC 布局类
- 读取串口数据并画实时曲线的VC++程序
- hello world ,stm32串口打印程序
- QT C++ 多线程支持多串口通信
- C++串口类 RS232
- Visual C++实现的FFT变换
- 自动调整界面布局的对话框
- VC++串口操作的代码及文档
- linux系统下C语言实现带有图形界面的
- VS与串口通信
- arm板控制指纹模块
- C语言编写的万年历,界面友好
- MFC实现数据绘图显示示波器界面
- 纯C语言的串口YModem程序
- 带流控制的串口通讯程序.rar
- C语言,设备管理系统,用win32写的界
- c语言程序实现PC端通过USB端口与单片
- qt界面化实现各种滤波函数
- C++编写的有界面的扫雷游戏
- vs2013 c++串口助手源码
- 常用的VC界面模板
- C++仿360新界面源代码
- 基于OpenDDS的MFC界面程序
- 串口通信c程序
- VC++ 漂亮的启动界面 渐隐渐现启动特
- windows串口控件
- 水流界面追踪VOF模型的CPP源码
评论
共有 条评论