资源简介
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++学生选课系统代码
相关资源
- LINUX下命令行界面的C语言细胞游戏
- 串口通讯技术实现--两台pc机通过串口
- C++语言编写串口调试助手
- GD32F103 在线串口Ymodem协议升级IAP
- Qt的纽带风格界面实现(Office Ribbon风
- qt 串口助手源码
- 使用QWT库实现接收串口数据,并根据
- QT半透明效果界面
- Qt5串口通信-windows
- 使用wxWidgets进行跨平台程序开发
- QT视频播放器(基于FFmpeg)
- 串口实验(接收与发送)
- 程序案例 利用LabVIEW实现串口通讯
- STM32(神舟III号 串口1发送实验程序)
- STM32429的串口收发程序
- atmega128 串口通讯(RS485.c)
- arduino I2C设备扫描并串口返回地址(
- 串口调试助手(测试STM32串口)
- N76E003串口收发
- TCP/IP与串口调试
- LabwindowsCVI 串口编程及事例.docx
- vc_串口通讯
- VC++ 串口
- 串口数据采集及显示
- Visual_C++_数据采集与串口通信测控应用
- c++编写的串口通讯程序
- 多线程串口通讯
- CrystalDiskInfo-HDD/SSD硬盘信息,SMART信息
- MFC自定义界面HUI,高效简单,含详细
- VC++完整商业界面源码(再上传)
评论
共有 条评论