
socketcan学习笔记
_二哥_
这个作者很懒,什么都没留下…
展开
-
C++ typedef用法小结 (※不能不看※)
第一、四个用途 用途一: 定义一种类型的别名,而不只是简单的宏替换。可以用作同时声明指针型的多个对象。比如:char* pa, pb; // 这多数不符合我们的意图,它只声明了一个指向字符变量的指针, // 和一个字符变量;以下则可行:typedef char* PCHAR; // 一般用大写PCHAR pa, pb; // 可行,同时声明了两个指向字符变量的指针虽转载 2016-06-24 09:22:11 · 126 阅读 · 0 评论 -
几个调试SocketCAN的命令
设置波特率:echo 125000 > /sys/class/net/can0/can_bittiming/bitrate启动can接口:ifconfig can0 up查看统计:cat /proc/net/can/stats查看can设备的中断统计:cat /proc/interrupts另附一段简单的测试代码:转载 2016-10-25 18:03:45 · 590 阅读 · 0 评论 -
getopt, optarg, optind, opterr, optopt
#include int getopt(int argc, char * const argv[], const char *optstring); extern char *optarg; extern int optind, opterr, optopt; #include转载 2016-10-19 15:37:40 · 190 阅读 · 0 评论 -
SIGINT SIGTERM SIGKILL区别
三者都是结束/终止进程运行。1.SIGINT SIGTERM区别前者与字符ctrl+c关联,后者没有任何控制字符关联。前者只能结束前台进程,后者则不是。2.SIGTERM SIGKILL的区别前者可以被阻塞、处理和忽略,但是后者不可以。KILL命令的默认不带参数发送的信号就是SIGTERM.让程序有好的退出。因为它可以被阻塞,所以有的进程不能被结束时,用转载 2016-10-19 15:40:29 · 1064 阅读 · 0 评论 -
未完待续
strcpyC语言标准库函数strcpy,把从src地址开始且含有'\0'结束符的字符串复制到以dest开始的地址空间。原型声明:char *strcpy(char* dest, const char *src);头文件:#include string.h> 和 #include 功能:把从src地址开始且含有NULL结束符的字符串复制到以dest开始的转载 2016-10-20 15:42:55 · 125 阅读 · 0 评论 -
Linux Socket CAN
由于Socket CAN涉及到CAN总线协议、套接字、Linux网络设备驱动等。因此,为了能够全面地了解Socket CAN的原理。我们需要了解以下几个方面的知识点:(1)CAN总线协议;(2)Socket原理;(3)Linux网络设备驱动;当熟悉以下三个方面的知识点后,我们再去分析基于Linux的Socket CAN的驱动。这样的话理解起来更加容易、易懂。转载 2016-10-20 15:46:51 · 804 阅读 · 0 评论 -
linux之getopt 函数
命令行参数解析函数 —— getopt()getopt()函数声明如下:#include int getopt(int argc, char * const argv[], const char *optstring);extern char *optarg;extern int optind, opterr, optopt;该函数的ar转载 2016-10-20 16:39:07 · 142 阅读 · 0 评论 -
UNIX网络编程书中源代码测试环境搭建
Steven在书中例子都包含一个#include "unip.h",从书中附录可以看出该头文件包含了网络程序中所使用到的各种相关头文件,所以如果想自己测试书中的源代码的话,我们需要需要搭建一个环境,以下是自己的实践过程,记录下来,以便以后参考:1、下载书中源代码unpv13e.tar.gz:这个可以在书中前言给出的地址下载:http://www.unpbook.com/unpv13e.ta转载 2016-11-01 17:00:10 · 256 阅读 · 0 评论 -
CAN bus的移植 虚拟VCAN
版权声明:本文为博主原创文章,未经博主允许不得转载。CAN bus的移植一、首先要阅读相关的文档了解can bus协议;二、驱动移植,内核中一般是自带相关的can驱动,如果没有可以自行加入;三、测试,首先下载can bus套件:[plain] view plain copy print?fulinux转载 2016-06-24 09:35:20 · 695 阅读 · 0 评论 -
VMware虚拟串口的设置和使用
版权声明:本文为博主原创文章,未经博主允许不得转载。本文内容部分翻译自VMware的帮助文档。环境:宿主机:Windows7 VMware7.1虚拟机:Fedora12 VMware的串口:一个虚拟机最多可以添加四个虚拟串口,有如下几个方法配置虚拟串口:连接一个虚拟串口到宿主机的物理串口。连接一个虚拟串转载 2016-06-23 19:13:50 · 903 阅读 · 0 评论 -
errno .h
查看错误代码errno是调试程序的一个重要方法。当linuc C api函数发生异常时,一般会将errno变量(需include errno.h)赋一个整数值,不同的值表示不同的含义,可以通过查看该值推测出错的原因。在实际编程中用这一招解决了不少原本看来莫名其妙的问题。比较麻烦的是每次都要去linux源代码里面查找错误代码的含义,现在把它贴出来,以后需要查时就来这里看了。以下来自linux 2转载 2016-07-01 09:07:31 · 160 阅读 · 0 评论 -
socketcan ISOTP 使用
交叉编译使用arm-linux-gcc 就要拷贝isotp.h到交叉编译其的include目录下,我们这里是/opt/armgcc/4.4.3/arm-none-linux-gnueabi/sys-root/usr/include/linux/can/#include #include #include #include #include #includ转载 2016-06-15 16:31:12 · 772 阅读 · 0 评论 -
Linux Socket CAN驱动-CAN总线原理
版权声明:本文为博主原创文章,未经博主允许不得转载。由于Socket CAN涉及到CAN总线协议、套接字、Linux网络设备驱动等。因此,为了能够全面地了解Socket CAN的原理。我们需要了解以下几个方面的知识点:(1)CAN总线协议;(2)Socket原理;(3)Linux网络设备驱动;当熟悉以下三个方面的知识点后,我们再去分析基于Linux的So转载 2016-07-01 19:39:18 · 749 阅读 · 0 评论 -
ioctl()函数详解
我这里说的ioctl函数是指驱动程序里的,因为我不知道还有没有别的场合用到了它,所以就规定了我们讨论的范围。写这篇文章是因为我前一阵子被ioctl给搞混了,这几天才弄明白它,于是在这里清理一下头脑。一、 什么是ioctl ioctl是设备驱动程序中对设备的I/O通道进行管理的函数。所谓对I/O通道进行管理,就是对设备的一些特性进行控制,例如串口的传输波特率、马达的转速等等。它的调用转载 2016-07-15 11:33:40 · 236 阅读 · 0 评论 -
linux socket can程序cantool
版权声明:本文为博主原创文章,未经博主允许不得转载。最近写了个自认为不错的基于linux socket can程序,主要功能:程序具备全部CAN功能,包括CAN标准帧/扩展帧接收与发送、CAN总线错误判断、环回等功能适用基于LINUX SOCKET机制实现的CAN接口,可用于嵌入式LINUX的CAN测试程序采用标准LINUX命令行参数选项形式,接受用户参数现把源码进转载 2016-06-21 23:15:31 · 439 阅读 · 0 评论 -
揭开Socket编程的面纱
对TCP/IP、UDP、Socket编程这些词你不会很陌生吧?随着网络技术的发展,这些词充斥着我们的耳朵。那么我想问:1. 什么是TCP/IP、UDP?2. Socket在哪里呢?3. Socket是什么呢?4. 你会使用它们吗?什么是TCP/IP、UDP? TCP/IP(Trans转载 2016-06-23 15:04:40 · 132 阅读 · 0 评论 -
C语言 fread()与fwrite()函数说明与示例
1.作用 读写文件数据块。2.函数原型 (1)size_t fread ( void * ptr, size_t size, size_t count, FILE * stream ); 其中,ptr:指向保存结果的指针;size:每个数据类型的大小;count:数据的个数;stream:文件指针 函数返回读取数据的个数。 (2)size_t fwri转载 2016-11-19 16:32:52 · 228 阅读 · 0 评论