树莓派编译jssc-2.9.2 实现自定义波特率
安装java8
sudo apt-get install openjdk-8-jdk
如果安装失败: 运行sudo apt-get update --fix-missing后再次安装sudo nano /etc/profile
最后面添加:
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-armhf/
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:JAVA_HOME/lib/dt.jar:JAVA_HOME/lib/tools.jarsource /etc/profile
安装Maven, CMake
sudo apt install maven cmake g++ file
jssc-2.9.2点击到下载页下载源码
sudo unzip jssc-2.9.2.zip //解压
cd jssc-2.9.2/
sudo nano /usr/include/asm-generic/termbits.h
termios改为termios1(驱动中引用sudo nano /usr/include/arm-linux-gnueabihf/bits/termios.h中termios,避免冲突)sudo nano src/main/cpp/_nix_based/jssc.cpp
#include <sys/ioctl.h>后添加
#include <asm/ioctls.h>
#include <asm/termbits.h>替换#ifdef __SunOSgoto methodEnd;//Solaris don't support non standart baudrates#elif defined __linux__//Try to calculate a divisor for setting non standart baudrateserial_struct *serial_info = new serial_struct();if(ioctl(portHandle, TIOCGSERIAL, serial_info) < 0){ //Getting serial_info structuredelete serial_info;goto methodEnd;}else {serial_info->flags |= ASYNC_SPD_CUST;serial_info->custom_divisor = (serial_info->baud_base/baudRate); //Calculate divisorif(serial_info->custom_divisor == 0){ //If divisor == 0 go to method end to prevent "division by zero" errordelete serial_info;goto methodEnd;}settings->c_cflag |= B38400;if(cfsetispeed(settings, B38400) < 0 || cfsetospeed(settings, B38400) < 0){delete serial_info;goto methodEnd;}if(ioctl(portHandle, TIOCSSERIAL, serial_info) < 0){//Try to set new settings with non standart baudratedelete serial_info;goto methodEnd;}delete serial_info;}#endif
为:struct termios2 t;if (ioctl(portHandle, TCGETS2, &t)) {goto methodEnd;}t.c_cflag &= ~CBAUD;t.c_cflag |= BOTHER;t.c_ospeed = t.c_ispeed = baudRate;if (ioctl(portHandle, TCSETS2, &t)) {goto methodEnd;}
mvn //执行编译后 jar包在target/中生成
树莓派编译jssc-2.9.2 实现自定义波特率相关推荐
- 树莓派编译ffmpeg支持x264硬解码播放视频
树莓派编译ffmpeg支持h264_mmal硬解码 1,x264源码编译 1.1下载x264源码,解压 1.2添加一个脚本文件config_x264_rpi.sh ,放入1.1解压之后的文件夹中 1. ...
- 树莓派 编译安装OpenCV4.1.0+opencv_contrib-4.1.0
一.下载OpenCV4.1.0+opencv_contrib-4.1.0 树莓派下载文件比较慢可以用电脑先下载文件,下载地址: OpenCV4.1.0下载地址: ...
- 树莓派编译安装FFmpeg(添加H.264硬件编解码器支持)
说明 FFmpeg是一套开源的音视频编解码库,有非常强大的功能,包括视频采集功能.视频格式转换等.众所周知视频编解码是一个非常消耗系统资源的过程,而树莓派自带了H.264的硬件编解码器,因此本文将详解 ...
- SSCOM串口调试助手自定义波特率
注:2400波特率以下SSCOM串口调试工具只支持自定义 150,300,601,1204,1805的波特率. 例:即使自定义波特率为2000,实际波特率为1805!!!
- 树莓派编译一个C程序
[1. 编辑文件] 首先在树莓派上新建一个文件名为test.c的文件(名字可随意),在文件中输入最简单的hello world程序: #include <stdio.h>int main( ...
- 树莓派 编译live555_树莓派raspberry4B入坑指南 part-6 docker编译古灵币钱包
在上一节我们已经部署好了grin服务,今天讲讲如何编译grin-wallet. grin区块链包含自底向上分三个部分,层层依赖密不可分: grin:grin区块链server,提供chaindata数 ...
- 树莓派编译mysql卡死_关于树莓派编译工作空间卡死情况的解决办法
我用的是买树莓派时官方带的SD卡16G,安装的时xubuntu桌面版.感觉运行还是比较流畅的,之前安装过ubuntu-mate.kubuntu.lubuntu.只有xubuntu是比较喜欢的. 在我安 ...
- 树莓派升级Linux内核,树莓派编译升级内核
我的博客部分文章同步至简书. 编译环境: 主机CentOS6.8 树莓派3B Raspbian 备份 这次升级内核会影响到树莓派的/boot目录,首先备份/boot,如果不嫌麻烦那就备份整张SD卡 c ...
- 树莓派编译工作空间卡死
树莓派编译程序时遇到卡死 1.树莓派安装的Ubuntu mate 16.04 系统默认设置的swap交换空间不够,而编译某些文件的时候需要较大的交换空间,树莓派的交换空间被用满所以树莓派看起来好像是死 ...
最新文章
- Java/Android 调用类里面的方法
- when will BOL flag lv_do_reread be set
- 作者:夏帆(1988-),男,华东师范大学计算机科学与软件工程学院博士后。...
- 华为鸿蒙系统学习笔记9-华为鸿蒙OS与LiteOS对比
- 网上购物软件的测试计划,网上购物平台购物测试计划书
- javabirdge php_PHP-Java-Bridge使用笔记
- opencart配置United States Postal Service快递
- java 传参数 数组_Java参数传递 数组的使用
- 程序员自学成才-老程序员给新手的四条自学经验
- 智慧能源管控系统在钢铁企业的设计与应用
- DID会固定年份吗_互助问答第31期:固定效应与随机效应选择和面板数据处理
- [转][JS]Math.random()随机数的二三事
- python expect模块pexpect简单应用
- [易飞]凭证尾行空白显示异常处理
- 入门级:GitHub和Git超超超详细使用教程!
- LeetCode.191:关于十进制与二进制的浅薄理解
- 库卡工业机器人负载曲线图_库卡工业机器人的变量运用简述
- asp oracle源码下载,大型电子病历系统(oracle版)源码
- MSS总体流程图(十)
- [UESTC 1342]郭大侠与甲铁城
热门文章
- Mysql关键字详解
- java 读取注册表信息
- 闲鱼源码搭建+后台管理
- 吃一堑长一智!最全面试考点与面试技巧,社招面试心得
- 酒醉吻了女同学,她要是报告了老师怎么办?
- 这就是搜索引擎——检索模型与搜索结果排序
- xp计算机远程桌面连接不了,XP系统如何设置远程桌面连接?XP远程协助连接不上怎么设置?...
- 安徽工业大学计算机科学与技术学院,洪旭东 - 安徽工业大学 - 计算机科学与技术学院...
- 如何把DOC文档以网页的形式打开
- python requests max_retries 设置最大重试次数