/***********************************************************************************
* libserialport: cross-platform library for accessing serial ports
* 说明:
* 很多时候,我们经常需要写一下串口方面的调试工具,象征一下我们的知识产权,
* 但是对于很多人来说,也许仅仅关心上层的软件,并不关心驱动上的事,所以使用串
* 口库就变成了一种很不错的选择。
*
* 2015-12-22 深圳 南山平山村 曾剑锋
**********************************************************************************/ 一、参考文档:
. C: cross-platform RS232 serial library? [closed]
http://stackoverflow.com/questions/2973402/c-cross-platform-rs232-serial-library
. request basic example code please #
https://github.com/martinling/libserialport/issues/11 二、README 翻译:
-------------------------------------------------------------------------------
libserialport: cross-platform library for accessing serial ports
libserialport: 跨平台的串口库
------------------------------------------------------------------------------- libserialport is a minimal library written in C that is intended to take care
of the OS-specific details when writing software that uses serial ports.
libserialport采用C语言编写,当我们写软件的时候可以规避一些操作系统 特有的内容。 By writing your serial code to use libserialport, you enable it to work
transparently on any platform supported by the library.
通过使用libserialport,你的软件可以在任何平台上运行。 The operations that are supported are:
支持以下操作: - Port enumeration (obtaining a list of serial ports on the system).
枚举串口
- Opening and closing ports.
打开关闭串口
- Setting port parameters (baud rate, parity, etc).
设置串口参数
- Reading, writing and flushing data.
读、写、刷新数据
- Obtaining error information.
获取错误 libserialport is an open source project released under the LGPL3+ license.
libserialport是一个开源项目,在LGPL3+协议下发行的 Status
现状
====== The library should build and work on any Windows or Unix-based system. If it
does not, please submit a bug.
该库能够在任何Windows或者Unix-based系统下工作。当然,如果不能工作,请提交bug Enumeration is currently only implemented on Windows, Mac OS X and Linux. On
other systems enumeration is not supported, but ports can still be opened by
name and then used.
枚举目前只在Windows、Mac OS X和Linux上实现了,在其他的系统上目前还不支持,
但是串口还是可以通过名字打开并使用。 If you know how to enumerate available ports on another OS, please submit a bug
with this information, or better still a patch implementing it.
如果你知道怎么枚举串口在其他的OS上,请提交对应的bug,将会实现这个功能。 Future
将来
====== Future versions will add additional API calls for obtaining metadata about a
port, e.g. for USB devices the USB VID and PID of the underlying device.
将来的版本将添加用于获取串口元数据的API,例如,获取USB底层设备的VID、PID。 Dependencies
============ On Linux, libudev is required. On other systems no other libraries are required.
在Linux系统上,libudev是依赖的库,在其他的系统上不依赖任何其他的库。 The libudev dependency could be eliminated in favour of direct sysfs queries at
the cost of some brevity. This is not currently a priority but if you feel like
doing this feel free to submit a patch. Building
编译
======== The package uses a GNU style build system and requires a Unix style shell.
On Windows it can be built with the MinGW toolchain and MSYS environment.
这个包使用GNU编译系统,需要一个Unix形式的shell,在Windows上,可以通过MinGW
工具、MSYS环境进行编译。 Run "./autogen.sh" to generate the build system, "./configure" to setup, then
"make" to build the library and "make install" to install it.
运行"./autogen.sh" 来生成编译系统,"./configure"来配置,同时"make"来生成库,
"make install"来进行安装 API
=== Doxygen API documentation is included. 三、Simple Demo:
#include <stdio.h>
#include "libserialport.h" int main ( void )
{
int i = ;
struct sp_port **ports; sp_list_ports(&ports); for (i = ; i > && ports[i]; i++)
printf("Found port: '%s'.\n", sp_get_port_name(ports[i])); sp_free_port_list(ports);
}

libserialport: cross-platform library for accessing serial ports的更多相关文章

  1. Gtest:Using visual studio 2017 cross platform feature to compile code remotely

    参考:使用Visual Studio 2017作为Linux C++开发工具 前言 最近在学Gtest单元测试框架,由于平时都是使用Source Insight写代码,遇到问题自己还是要到Linux下 ...

  2. “CMake”这个名字是“cross platform make”

    cmake_百度百科 https://baike.baidu.com/item/cmake/7138032?fr=aladdin CMake 可以编译源代码.制作程序库.产生适配器(wrapper). ...

  3. BIOS MCSDK 2.0 学习笔记(二)————使用Platform Library创建工程

    [TOC] Platform Library提供了一组适用于开发板的API函数.我们可以使用它来快速入手开发板. 1.启动CCS,建立一个空的工程 2.添加include路径 "C:\Pro ...

  4. Comparing Xamarin and Delphi XE5 to Xcode for Cross Platform Mobile App Development

    Comparing Xamarin and Delphi XE5 to Xcode for Cross Platform Mobile App Development If you are consi ...

  5. Using Virtual Serial Ports on Linux (Ubuntu)

    http://www.xappsoftware.com/wordpress/2013/10/07/using-virtual-serial-ports-on-linux-ubuntu/?goback= ...

  6. V4 Reduce Transportable Tablespace Downtime using Cross Platform Incremental Backup (Doc ID 2471245.1)

    V4 Reduce Transportable Tablespace Downtime using Cross Platform Incremental Backup (Doc ID 2471245. ...

  7. Cross platform

    值得学习的C/C++语言开源项目 (1)ACE 庞大.复杂,适合大型项目.开源.免费,不依赖第三方库,支持跨平台. http://www.cs.wustl.edu/~schmidt/ACE.html ...

  8. Cross Platform Note: STD C++ Preprocessor directives & pre-defined macros

    ref: http://www.cplusplus.com/doc/tutorial/preprocessor/ concolusion: directives: #define #undef #in ...

  9. Cross platform GUI for creating SSL certs with OpenSSL

    Someone said: from : https://micksmix.wordpress.com/2012/08/09/xca-cross-platform-gui-for-creating-s ...

随机推荐

  1. MVC 中 Razor 无限分类的展示

    在MVC的Razor视图展示无级分类的办法,在网上看了很多资料,大多搞得很高大上.可能本人水平有限,实在是不会用. 那我就用最简单爆力的办法来做. Model: public class NewsCa ...

  2. poj 2975 Nim 博弈论

    令ans=a1^a2^...^an,如果需要构造出异或值为0的数, 而且由于只能操作一堆石子,所以对于某堆石子ai,现在对于ans^ai,就是除了ai以外其他的石子 的异或值,如果ans^ai< ...

  3. poj 1797(最短路变形)

    题目链接:http://poj.org/problem?id=1797 思路:题目意思很简单,n个顶点,m条路,每条路上都有最大载重限制,问1->n最大载重量.其实就是一最短路的变形,定义wei ...

  4. BestCoder 1st Anniversary($) 1003 Sequence

    题目传送门 /* 官方题解: 这个题看上去是一个贪心, 但是这个贪心显然是错的. 事实上这道题目很简单, 先判断1个是否可以, 然后判断2个是否可以. 之后找到最小的k(k>2), 使得(m-k ...

  5. cojs QAQ的序列 解题报告

    QAQ 这是从论文上搬的一道题目 但是由于并没有找到题目地址,所以就自己造数据咯 发现数据无比难造 (本题数据极弱,暴力或可AC?) 我们考虑离线的话其实只需要莫队就可以了 那么在线怎么做呢 二进制分 ...

  6. OSVERSIONINFO的用法及实例

    OSVERSIONINFO 快速信息 Windows NT   支持 Windows 95    支持 Win32s           支持 引入程序库    - 头文件           win ...

  7. 应用内存优化之OnLowMemory&OnTrimMemory

    1.应用内存onLowMemory& onTrimMemory优化 onLowMemory& onTrimMemory简介:OnLowMemory是Android提供的API,在系统内 ...

  8. JavaWeb笔记——上传文件

    jsp上传文件 *<form>标签method属性必须为post,并且添加enctype="multipart/form-data"属性   ------------- ...

  9. 怎么样能让自己的虚拟机上网win7 for linux

    我的电脑是win7 32位 虚拟机是linux 我是通过无线连接互联网的 点无线网络连接 右键 点共享 按照我的方式设置 接下来进入 里面会自动的选择这个 如果没有可以自己按照这个设置 接下来进入虚拟 ...

  10. oracle记录解锁

    oracle 怎样查一个表中的记录是否被锁住了   怎么查询一个数据库中有几个表引用了其中某个特定表的主键做为其外键的select t.table_name from user_constraints ...