项目
菜鸟阳阳
小菜鸟
展开
-
十六进制数高位和低位的结合与分离
今天在调试一个测温模块的时候遇到十六进制的高位和低位组合,板子通过串口发送指令给模块,并读取模块返回的温度值,但是模块返回的是一个十六进制的报文,实际温度值是分为两个十六进制数的,高位在前,低位在后,比如返回的是0x01,0x2e,实际的温度用十六进制表示就是0x012e,十进制就是302,实际温度值除以10就可以了。但是写代码的时候突然就迷糊了,刚开始想到的是两个数相与就可以了,但是用计算器折腾了一番,发现不行,经过一番冥思苦想终于搞定了,记录一下,以免下次又忘记。分离高位和低位先看一下怎么分离高位和原创 2021-02-08 16:38:28 · 11745 阅读 · 1 评论 -
Ubuntu18.04交叉编译glib
Ubuntu18.04交叉编译glib源码下载glib下载地址:https://download.gnome.org/sources/glib/2.45/libffi下载地址:ftp://sourceware.org/pub/libffi/交叉编译glib需要依赖libffi,首先对libffi进行交叉编译交叉编译libffi解压下载的源码,进入解压目录:执行./configure -h查看configure选项如下:`configure' configures libffi 3.3 to原创 2020-12-29 14:35:27 · 1163 阅读 · 0 评论 -
Ubuntu16.04交叉编译openCV
Ubuntu16.04交叉编译openCV1、准备工作与目标板配套的交叉编译工具并添加环境变量;openCV的源码,我这里的版本是3.2.0交叉编译openCV需要的第三方库;2、交叉编译安装第三方库在安装第三方库之前,单独建立一个文件夹OPENCV_3THPARTY_LIB用来安装第三方库。安装zlibtar vxf zlib-1.2.11.tar.gzcd zlib-1.2.11./configure --prefix=/home/u260510/wangjy/arm_ope原创 2020-10-19 16:26:32 · 1048 阅读 · 0 评论 -
Ubuntu16.04交叉编译移植sqlite3
Ubuntu16.04交叉编译移植sqlite31、准备工作(1)下载sqlite3的源码,可以到官网下载:官网下载;(2)交叉编译工具,要添加环境变量并且是与开发版配套的;2、下载源码解压wget https://sqlite.org/2020/sqlite-autoconf-3330000.tar.gztar vxf sqlite-autoconf-3330000.tar.gzcd sqlite-autoconf-3330000/3、生成makfile./configure CC=a原创 2020-10-17 17:01:18 · 785 阅读 · 0 评论 -
Ununtu 16.04交叉编译移植qt5.9.4
Ununtu 16.04交叉编译qt5.9.41、准备工作(1)官网下载qt5.9.4的源码;(2)准备交叉编译器,这里的交叉编译器必须是你的目标开发板配套的交叉编译工具;(3)将交叉编译器添加到环境变量;2、解压qt5.9.4源码tar vxf qt-everywhere-opensource-src-5.9.4.tarcd qt-everywhere-opensource-src-5.9.43、修改qmake.confvim qtbase/mkspecs/linux-aarch64-原创 2020-10-17 16:07:48 · 760 阅读 · 0 评论 -
Linux使用openssl对socket加密【1】
最近做完了串口转socket,就学习了一下socket加密,看了好多博客基本都是用openssl库函数实现,还有自己写加密解密函数实现的,我尝试用库函数写了一下。竟然用库函数实现,那就要安装openssl库,然后我在百度上找了一大堆的教程,搜了一篇测试的程序,发现可以了。但是编译客户端和服务器端的时候,就不行了,又开始百度,开始以为是库没装好,就重新装了好几遍,发现还是不能编译,最后加了动态库的路...原创 2019-07-27 17:23:54 · 427 阅读 · 0 评论 -
Linux使用openssl对socket加密【2】
上一篇博客介绍了使用openssl对socket加密使用到的库函数,也解决了上一篇博客中说到的问题,首先就是要生成openssl证书,大家可以参考本篇博客(https://blog.csdn.net/fly2010love/article/details/46415307),就不多说了。还有一个问题就是编译的问题,刚开始我以为是库没安装好,其实是没有生成证书,而且使用gcc编译的时候要使用-L参...原创 2019-07-31 11:21:02 · 554 阅读 · 0 评论 -
linux串口转socket
上一篇博客写了串口通信,实现了串口收发数据及串口参数的设置等基本功能,实际情况中串口经常被用到,所以可以考虑将其打包封装一下,需要用的时候直接在主函数里直接调用即可,工程量会减少很多。串口函数打包实际上就是将串口的参数放在结构体里面,通过结构体指针将参数传给函数。每次调用函数时只需要一个参数,会方便很多。我最近在做串口转socket的时候就用到了,刚开始我只写了一个简单的串口函数,实现了数据的收发...原创 2019-07-21 19:44:51 · 627 阅读 · 0 评论 -
串口通信
串口通信串口在网络通信中经常用到,最近在学习串口通信的编程。所以要对串口操作,就要了解串口的原理等。串口是串行接口的简称,也称串行通信接口或串行通讯接口(通常指COM接口),是采用串行通信方式的扩展接口。串行接口 (Serial Interface) 是指数据一位一位地顺序传送,其特点是通信线路简单,只要一对传输线就可以实现双向通信(可以直接利用电话线作为传输线),从而大大降低了成本,特别适用于...原创 2019-07-17 19:47:38 · 1688 阅读 · 0 评论 -
libevent网络通信常用函数
虽然libevent库提供了很多函数,但是使用libevent实现网络socket通信,使用到的函数不多,根据上一篇博客中的代码,我们可以发现,用到函数只有创建event_base结构体的函数,创建事件并绑定事件到event_base中的函数,添加事件到结构体的函数,启用循环的函数等,下面详细说一下这几个函数:创建 event_base使用 libevent 函数之前需要分配一个或者多个 ev...原创 2019-05-23 18:02:34 · 402 阅读 · 0 评论 -
libevent学习之网络通信
上一篇博客虽然也写了服务器端的程序,跟着别人的代码写的,没怎么搞懂,之后又看了几篇博客,把别人的代码跑了跑感受了一下,然后自己重新写了一遍,实现了客户端与服务器的通信。libevent上篇介绍了,就不重复了,下面介绍单线程的客户端与服务器端。服务器端要实现网络通信,肯定会用到socket等函数,这几个函数应该没什么问题。libevent默认情况下是单线程的,可以配置成多线程,每个线程有一个ev...原创 2019-05-21 17:15:46 · 594 阅读 · 2 评论 -
客户端代码实现
1、了解TCP/IP协议TCP/IP协议是由很多很多协议组成的集合,不仅仅是tcp和ip协议,把这个集合统称为TCP/IP协议族。TCP/IP按层次分为四层:应用层、传输层、网络层和数据链路层。通过下图可以了解TCP/IP协议结构:2、了解socket网络编程socket网络编程其实不难实现,只要你了解了客户端与服务器端之间是如何实现连接、发送和接收数据,知道如何调用相应的函数以及函数的用...原创 2019-03-28 17:20:58 · 1405 阅读 · 0 评论