
嵌入式
文章平均质量分 78
jirryzhang
。
展开
-
telnet登录与退出
首先确保本机和远程主机能ping通。注意虚拟机设置网络连接时应设置为桥接模式和复制物理网路状态(以VMWare WorkStation为例),且虚拟机设好静态IP。登录telnet:使用命令telnet后面接要登录的远程主机的ip地址。比如telnet 192.168.1.6就是在本机上登录ip为192.168.1.6的远程主机。接下来会让你输入远程主机的用户和密码,输入正原创 2017-02-26 16:56:42 · 2260 阅读 · 0 评论 -
Linux下OpenCV打开USB接口的UVC摄像头的方法以及索引号为什么要是202的原因
一般来说,USB的UVC摄像头在LINUX平台下通过V4L驱动来使用。OpenCV打开USB的UVC摄像头一般也通过V4L驱动来打开。打开方法网上都有,一般就是通过VideoCapture的open(int index)函数来打开,其中index设为202。如下:VideoCapture cap;Mat frame;if(!cap.open(202)) cout<<"camera原创 2017-06-19 13:27:46 · 9643 阅读 · 0 评论 -
Linux(V4L2驱动)下获得Opencv摄像头属性(图像输出格式和是否发生往RGB的转换)的方法
Opencv可通过cvGetCaptureProperty函数(或者VideoCapture::get(int proID))来获取摄像头输出图像的属性。但返回的是个double的值,如何查看图像输出的编码格式呢?其实可以看到,编码格式是个宏定义,只要有了编码格式的宏定义,我们就可以把得到的doule类型的值和各种编码格式宏对比,即可得知获得的double值是哪种编码格式。V4L2各种编码原创 2017-06-21 22:36:23 · 3869 阅读 · 0 评论 -
Linux CAN说明文档
文档原名称:can.txt,位于 linux-3.2.0-m3352/Documentation/networking/can.txt。CAN 控制器局域网络协议族之 Readme 文件(aka Socket CAN)。另外在该文档的后边附加一个CAN收发测试程序,用于与下位机通信。目录1 概述 / 什么是 Socket CAN?2 目的 / 为什么要使用 socket API?原创 2017-06-10 20:12:42 · 3766 阅读 · 0 评论 -
大端(Big Endian)与小端(Little Endian)详解
1. 什么是大端,什么是小端:所谓的大端模式,是指数据的低位保存在内存的高地址中,而数据的高位,保存在内存的低地址中;所谓的小端模式,是指数据的低位保存在内存的低地址中,而数据的高位保存在内存的高地址中。2.为什么会有大小端:为什么会有大小端模式之分呢?这是因为在计算机系统中,我们是以字节为单位的,每个地址单元都对应着一个字节,一个字节为8bit。但是在C语言中除了8bit的cha原创 2017-07-08 17:33:50 · 761 阅读 · 0 评论 -
C++中的static关键字详解
1、什么是static? static 是C++中很常用的修饰符,它被用来控制变量的存储方式和可见性。 2、为什么要引入static? 函数内部定义的变量,在程序执行到它的定义处时,编译器为它在栈上分配空间,大家知道,函数在栈上分配的空间在此函数执行结束时会释放掉,这样就产生了一 个问题: 如果想将函数中此变量的值保存至下一次调用时,如何实现? 最容易原创 2017-07-17 19:13:02 · 543 阅读 · 0 评论 -
Linux Socket can使用方法
由于系统将CAN设备作为网络设备进行管理,因此在CAN总线应用开发方面,Linux提供了SocketCAN接口,使得CAN总线通信近似于和以太网的通信,应用程序开发接口更加通用,也更加灵活。此外,通过https://gitorious.org/linux-can/can-utils网站发布的基于SocketCAN的can-utils工具套件,也可以实现简易的CAN总线通信。下面具体原创 2017-09-13 19:12:56 · 8147 阅读 · 1 评论 -
RBF_PID_CPP
#include #include #include using namespace std;double eta=0.5;//学习率double alfa=0.05;//动量因子double x[3]={0};//输入向量xdouble ci[6][3]={0};//中心矢量Cdouble bi[6];//基宽向量Bdouble w[6];//权值向量Wdouble h[6原创 2017-10-10 23:24:45 · 1621 阅读 · 1 评论 -
linux挂载NFS
网络配置完成之后(保证本地主机和远程主机在一个网段,即局域网内IP地址前三个值相同),在开发板命令行通过mount命令挂载PC机的目录,mount -t nfs 192.168.0.1:/home/vincent/nfs /home/nfs -o nolock,挂载完成后在开发板/home/nfs中可以访问pc机/home/vincent/nfs目录中的文件,就像访问自己的文件一样,这种方式比FT原创 2017-10-19 18:36:39 · 446 阅读 · 0 评论 -
QPushButton的一些stylesheet设置
如下:QPushButton{background-color: transparent;color: rgb(255, 255, 255);border-radius:10px;border:1px solid white;}QPushButton:hover{color: rgb(71, 186, 204); background-color: rgb(221, 221, 2原创 2017-10-16 13:33:04 · 4401 阅读 · 0 评论 -
Read-only file system问题的解决方法
Linux有时候会遇到无法写文件、新建保存文件的情况,提示Readonly file system,我们可以在终端输入如下命令即可解决:mount -o remount rw /重新挂载文件系统,添加写权限即可。原创 2017-12-06 18:30:40 · 102664 阅读 · 4 评论 -
Linux socket CAN编程示例
如下所示,代码展示了Linux下CAN的发送和接收:#include <stdio.h>#include <stdlib.h>#include <string.h>#include <unistd.h>#include <net/if.h>#include <sys/ioctl.h>#include <sys...原创 2018-03-01 22:16:44 · 12648 阅读 · 10 评论 -
由opencv with qt的imshow源码的一部分联想到在arm上实现highgui
这几天一直在折腾给arm a9的开发板移植opencv,但是移植无法使用highgui部分。索性直接看源码,自己实现这部分界面显示的功能。结果看到了一些熟悉的东西,如下:void DefaultViewPort::updateImage(const CvArr* arr){ CV_Assert(arr); CvMat* mat, stub; int origin =原创 2017-05-30 19:29:53 · 1770 阅读 · 2 评论 -
Linux查看链接库的位数
静态链接库objdump -a *.a动态链接库objdump -a *.so原创 2017-05-29 16:55:14 · 1813 阅读 · 0 评论 -
STM8S的can波特率设置
1 位时间特性为了掌握如何设置STM32 CAN的波特率,首先我们得先了解一下位时间特性。位时间特性逻辑通过采样来监视串行的CAN总线,并且通过跟帧起始位的边沿进行同步,及通过跟后面的边沿进行重新同步,来调整其采样点。它的操作可以简单解释为,如下所述把名义上的每位的时间分为3段:● 同步段(SYNC_SEG):通常期望位的变化发生在该时间段内。其值固定为1个时间单元(1原创 2017-03-07 21:36:05 · 4256 阅读 · 0 评论 -
串口、COM口、TTL、RS-232、RS-485区别详解
串口、COM口、TTL、RS-232、RS-485区别详解Point:1、串口、COM口是指的物理接口形式(硬件)。而TTL、RS-232、RS-485是指的电平标准(电信号)。2、接设备的时候,一般只接GND RX TX。不会接Vcc或者+3.3v的电源线,避免与目标设备上的供电冲突。3、PL2303、CP2102芯片是USB 转 TTL串口 的芯片,用USB来扩展串口(TTL电原创 2017-04-11 18:27:17 · 7857 阅读 · 0 评论 -
linux查看某串口(或串口终端)的波特率等属性
要查看某个串口的波特率等信息,可在控制台输入stty -F /dev/ttyS0 -a #ttyS0为要查看的串口也可以用stty设置串口参数stty -F /dev/ttyS0 ispeed 115200 ospeed 115200 cs8该命令将串口1(/dev/ttyS0)设置成115200波特率,8位数据模式。一般情况下设置这两个参数就可以了,如果显示数据乱码,可能还原创 2017-04-11 23:01:28 · 39070 阅读 · 0 评论 -
ubuntu 下安装配置 telnet server服务
下面我们来对Ubuntu Linux telnet的安装和设置进行一下讲解。首先我们需要加载telnet的服务,之后对于root等有关方面进行设置。 在Windows系统中,telnet的配置相对简单一些。那么在Ubuntu Linux中的telnet的设置就相对比较麻烦了。不少朋友都对这个安装过程不熟悉。没有关系,这里我们就来对Ubuntu Linux telnet的安装设置进行一下讲原创 2017-04-13 22:51:25 · 5192 阅读 · 1 评论 -
将一帧1280x1024图像保存到我的SD卡当中的方法
在以前的项目中有一个开门影像功能,即开门时拍照把开门者记录下来。在这开发过程中遇到了不少问题。1、怎么将一帧1280x1024图像保存到我的SD卡当中?那么我们需要一个buffer进行缓冲。这个Buffer需要多大1280x1024x2(RGB565格式)== 2 621 440Bit == 2.5M字节。大于板载2M SRAM ,资源不满足,只能降低图像尺寸了,最后选择了1024x原创 2017-04-18 19:40:27 · 1273 阅读 · 0 评论 -
CANTX、CANRX与CANH、CANL详解,以及转换方法
从名称上来看,CANTX和CANRX是CAN控制芯片的发送管脚(CANTX)和接收管脚(CANRX)。完整的CAN电路是由CAN控制器和CAN收发器组成的,二者之间一般通过TTL电平的收发信号(CANRX、CANTX)连接,由CAN收发器将CANTX的TTL信号转换为CAN规范差分信号输出、同时接收差分线上的实际信号并转换为TTL信号输出到CANRX管脚上。CAN收发器与CAN控制器的CANT原创 2017-04-25 10:54:29 · 48658 阅读 · 5 评论 -
交叉编译出现a local symbol' can not be used when making a shared object的解决方法
前几天遇到的一个问题,说明的很清楚是要加上-fPIC重新编译,这个问题只有在64位系统中编译的时候才会出现。-fPIC 作用于编译阶段,告诉编译器产生与位置无关代码(Position-Independent Code),则产生的代码中,没有绝对地址,全部使用相对地址,故而代码可以被加载器加载到内存的任意位置,都可以正确的执行。这正是共享库所要求的,共享库被加载时,在内存的位置不是固定的。原创 2017-05-27 21:20:58 · 8711 阅读 · 1 评论 -
详解/etc/profile、/etc/bash.bahsrc、~/.profile、~/.bashrc的用途
之前安装Linux的一些软件时,总要修改Linux的配置文件。当时也是一知半解。而且,网上有些安装教程,会说,修改配置文件后要重启Linux。但事实上是不需要重启的。 Linux安装时可能要修改的配置文件:/etc/profile、/etc/bashrc(ubuntu没有这个文件,对应地,其有/etc/bash.bashrc文件。我用的是ubuntu系统,所以下面将原创 2017-04-26 23:01:54 · 17003 阅读 · 2 评论 -
CMake交叉编译的入门教程
这是从cmake官网上摘录下来的交叉编译教程,详细解释了各个变量的作用和使用方法。CMake Cross CompilingJump to: navigation, searchCross compiling is supported by CMake starting with version 2.6.0.Cross compiling means that原创 2017-05-28 15:47:02 · 4963 阅读 · 0 评论 -
Linux查看动态链接库的所有函数以及在动态链接库查找某一个函数的方法
查看动态链接库的所有函数:假设要查看的动态链接库为yourLib.so,则如下nm yourLib.so在动态链接库中查找某一个函数是否存在以及函数入口地址:假设动态链接库为yourLib.so,函数名字为yourFunction,则如下:nm -D yourLib.so |grep -w yourFunction原创 2017-05-29 11:25:44 · 17689 阅读 · 1 评论 -
STM8/32 CAN过滤器设置详解
CAN总线的标准帧和扩展帧主要决定帧ID的长度,标准帧的帧ID长度是11位,也就是帧ID的范围是000-7FF。扩展帧的帧ID长度是29位,也就是帧ID的范围是0000 0000-1FFF FFFF。CANopen帧ID最多是11位的,因此是标准帧;而SAE 1939协议通常是18XX XXXX的帧ID,是29位的,因此是扩展帧。在CAN协议里,报文的标识符不代表节点的地址,而是跟报文的内容相关的...原创 2018-03-28 18:00:35 · 9231 阅读 · 1 评论