自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 STM32的CAN开发注意事项整理收集

一、STM32的bxCAN控制器 bxCAN是基本扩展CAN(Basic Extended CAN)的缩写,它支持CAN协议2.0A和2.0B。它的设计目标是,以最小的CPU负荷来高效处理大量收到的报文。它也支持报文发送的优先级要求(优先级特性可软件配置)。对于安全紧要的应用, bxCAN提供所...

2020-05-11 21:36:16 262 0

原创 CAN FD Driver-裸机模式

一、大致框架 CAN总线的系统架构,CAN总线上挂在相应的设备节点。这些设备节点包含: 最底层也就是物理层的CAN收发器(和本次使用CAN收发器有所区别,仅供参考)。 信息协议层也就是CAN控制器(和本次使用的CAN2517FD有所区别,仅供参考),主要体现在数据链路层这一部分。 应用程序...

2020-05-10 22:03:07 118 0

转载 CAN总线网络层与传输层的理解(五)

ISO15765-2中定义了网络层和传输层的内容,下面就对这两部分分别进行介绍。 一、网络层 所有网络层的服务都有统一的结构,为了定义服务,有三种服务原语: 服务请求原语:服务用户向服务提供方请求服务 服务指示原语:服务提供方向服务用户通知网络层内部事件或对同级协议层实体服务用户的服务请...

2020-05-09 23:55:04 97 0

原创 CAN总线数据链路层分析(四)

在SPI通信中,片选、时钟信号、数据输入及数据输出这四个信号都有单独的信号线。而CAN使用的是两条差分信号线,只能表达一个信号。简洁的物理层决定了CAN必然要配上一套更为复杂的协议。如何用一个信号通道实现同样甚至更强大的功能,答案就是对数据或操作命令进行打包。 一、通信机制 1.1 多主机(M...

2020-05-07 18:55:07 141 0

原创 CAN总线的物理层分析(三)

一、CAN拓扑网络 连接在CAN总线上的设备叫做节点设备(CAN Node),CAN网络的拓扑一般为线型。线束最常用的是双绞线,线上传输为对称的差分电平信号。下图为CAN总线网络示意图,节点主要包括Host、控制器和收发器。Host常集成有CAN控制器,CAN控制器负责处理协议相关功能,以减轻H...

2020-05-05 16:01:27 198 0

原创 CAN总线的标准(二)

一、OSI参考模型 CAN总线标准规定了物理层和数据链路层,至于应用层需要用户自定义。不同的CAN标准仅物理层不同。物理层和数据链路层ISO11898;应用层:不同的应用领域使用不同的应用层标准。 二、待续... ...

2020-05-05 12:08:28 156 0

原创 CAN总线知识点介绍(一)

一、CAN总线的起源 CAN总线是由德国研发和生产汽车电子产品著称的BOSCH公司开发的,并最终成为国际标准(ISO11519),是国际上应用最广泛的现场总线之一。CAN总线是一种多主控(Multi-Master)的总线系统。传统总线系统如USB或以太网等是在总线控制器的协调下,实现从A节点到B...

2020-05-05 11:50:52 172 0

转载 Linux IO模式及 select、poll、epoll详解

一、前言 注:本文是对众多博客的学习和总结,可能存在理解错误。请带着怀疑的眼光,同时如果有错误希望能指出。 同步IO和异步IO,阻塞IO和非阻塞IO分别是什么,到底有什么区别?不同的人在不同的上下文下给出的答案是不同的。所以先限定一下本文的上下文。 本文讨论的背景是Linux环境下的netw...

2020-04-25 17:09:10 59 0

转载 C、C++、Java、JavaScript、PHP、Python分别用来开发什么?

首先,我们先普及一下编程语言的基础知识。用任何编程语言来开发程序,都是为了让计算机干活,比如编写一篇文章,下载一首MP3等,而计算机干活的CPU只认识机器的指令,所以,尽管不同的编程语言差异极大,最后都得“翻译”成CPU可以执行的机器指令。理论上任何语言干任何事情几乎都可以, 但是主要干什么那就不...

2020-04-12 23:46:57 171 0

原创 视音频-常用视频信号配图介绍

常用视频信号介绍 这里主要介绍可能用到的测试视频信号。 一般来讲,客户经常会用到灰阶、彩条这些测试信号,来测试画面显示是否正常。 例如每一阶能不能正常显示,过渡是否自然。 Color bar显示有没有偏色,Y/C 分离处理得好不好。 下面的资料可以参考一下。 测试信号的类别 Gray Scale...

2019-12-01 10:06:28 93 0

原创 cURL-04-基于libcurl库的开发

title: cURL-04_基于libcurl库的开发 date: 2019-11-06 22:36:01 tags: [cURL] categories: cURL libcurl是一个简单易用的基于URL传输的客户端开发库,支持多种平台以及三十多种开发语言绑定。libcurl是线程安全的,...

2019-11-24 23:32:24 45 0

原创 cURL-03-cURL的几种语言支持

title: cURL-03-cURL的几种语言支持 date: 2019-11-03 23:38:29 tags: [cURL] categories: cURL 一、基于 C 的 HTTP 客户端 C API 在 libcurl 功能上提供了两个 API。easy 接口是一个简单的同步 API...

2019-11-24 23:31:48 65 0

原创 cURL-02-在命令行中使用cURL

title: cURL-02_在命令行中使用cURL date: 2019-11-03 23:38:29 tags: [cURL] categories: cURL 一、获取和安装 cURL/libcurl 获取和安装 libcurl 非常简单,取决于您所运行的 Linux 发行版。如果运行的是 ...

2019-11-24 23:31:04 41 0

原创 cURL-01-基本概念与了解

title: cURL-01_基本概念与了解 date: 2019-11-03 11:59:28 tags: [cURL] categories: cURL 一、基本概念 cURL(Client URL Library Functions)is a command line tool for tr...

2019-11-24 23:29:20 196 0

原创 Camera-摄像头工作原理(转载)

title: Camera-摄像头工作原理(转载) date: 2019-11-09 21:13:43 tags: [摄像头] categories: Camera 回想这工作的这几年,尝尽社会的辛酸艰难,从一开始什么都没有到30万,从30万到200万,从200万到1300万,不是炫耀,我只是想...

2019-11-24 23:12:39 292 0

原创 linux程序后台运行且将打印信息保存在文件中

在跑比较时间比较长的程序,或者是打印信息比较多的程序时,一般都会后台运行程序,然后把打印信息保存在文件中,等程序运行结束后再检查输出日志。 完成该功能可以用如下命令: nohup python3 -u test.py > test.log 2>&1 & 最后一...

2019-08-27 16:38:53 310 0

原创 FlexCAN简单介绍

邮箱 邮箱系统由高达64个报文缓冲区组成,前38个MBs相对应的内存空间可以被配置成支持FIFO接收机制,该机制具有一个强大的ID过滤机制,能够检测接收帧的ID表(最多可以是128个扩展帧ID或者256个标准帧ID或者512个8比特的ID分片),还具有高达32个ID表提供私有掩码寄存器。 同时...

2019-08-15 10:55:52 2250 0

转载 STM32--CAN ID过滤器分析

1 前言 在CAN协议里,报文的标识符不代表节点的地址,而是跟报文的内容相关的。因此,发送者以广播的形式把报文发送给所有的接收者。节点在接收报文时,根据标识符(CAN ID)的值决定软件是否需要该报文;如果需要,就拷贝到SRAM里;如果不需要,报文就被丢弃且无需软件的干预。 为满足这一需求,b...

2019-08-08 13:30:27 411 0

转载 Python--列表如何去掉最后一个元素

在Python3中列表数据类型的内置方法里有三种方法可以删除列表的最后一个元素(我所知道的): 1、pop方法 list = [1,2,3,4] list.pop() print(list) #[1, 2, 3] 2、del方法 list = [1,2,3,4] del(list[...

2019-07-30 14:11:25 5812 0

转载 git常用的一些操作

删除github远程仓库里的某个文件/文件夹 在git中可以用git rm命令删除文件(删除远程仓库文件) git clone 仓库地址 git add . step1: git rm 文件 //本地中该文件会被删除 step2: git rm -r 文件夹 //删除文件夹 step3: g...

2019-07-17 09:41:55 81 0

转载 Python--基础认知

1:为什么学习Python 公司建议使用Python,然后自己通过百度和向有学过Python的同学了解了Python。Python这门语言,入门比较简单,它简单易学,生态圈比较强大,涉及的地方比较多,特别是在人工智能,和数据分析这方面。在未来我觉得是往自动化,人工智能这方面发展的,所以学习了P...

2019-07-09 15:36:32 226 0

原创 Python--is和==的区别

a = 'lishi' str1 = "li" str2 = "shi" str3 = str1 + str2 print("a == str3",a == str3) print("a is str3&qu...

2019-07-09 15:16:22 99 0

原创 Python--单引号、双引号、三引号用法

1. 单引号和双引号没有什么区别,不过单引号不用按shift,打字稍微快一点。表示字符串的时候,单引号里面可以用双引号,而不用转义字符,反之亦然。 'She said:"Yes." ' or "She said: 'Yes.' ...

2019-07-09 11:15:12 1823 0

原创 Python--求两个列表的交集、差集、并集

直接看代码: >>> a = [1,2,3,4] >>> b = [4,3,5,6] #在a中的i,并且也在b中,就是交集 >>> jj1 = [i for i in a if i in b] >>> jj1 [3, 4...

2019-07-09 09:51:20 73 0

原创 Python--传参数是传值还是传址?

python中函数参数是引用传递(注意不是值传递)。 对于不可变类型(数值型、字符串、元组),因变量不能修改,所以运算不会影响到变量自身; 而对于可变类型(列表字典)来说,函数体运算可能会更改传入的参数变量。 >>> def selfAdd(a): a += a #...

2019-07-08 17:54:04 778 0

原创 Python--根据键对字典排序

方法一,zip函数 >>> dic = {"name":"zs","sex":"man","city":"beijing"} #1. 字典转列表嵌套元组 ...

2019-07-08 17:24:00 813 0

原创 Python--列表嵌套列表排序

>>> foo = [["zs",19],["ll",54],["wa",23],["df",23],["xf",23]] 按照年龄排序 >>> a=sorte...

2019-07-08 16:51:07 57 0

原创 Python--列表嵌套元组,分别按字母和数字排序

>>> foo = [("zs",19),("ll",54),("wa",17),("df",23)] 按照年龄排序 >>> a=sorted(foo,key=lambda x:x...

2019-07-08 16:41:17 244 0

原创 python各异常解释

python代码在运行调试的时候有时出现各种错误,现收集整理,方便以后查找。 异常名 解释 IOError 输入输出异常 AttributeError 试图访问一个对象没有的属性 ImportError 无法引入模块或包,基本是路径问题 Indentat...

2019-07-08 15:58:04 112 0

原创 FreeRTOS及LwIP接口理解(1)--LwIP相关接口

用户编程接口(应用层) 消息机制 协议栈API实现 API消息 文件:tcpip_msg api_lib.c api_msg.c 协议栈接口 用户数据缓冲netbuf 文件:netbuf.c netbuf.h 数据缓冲操作 关键字:netbuf pbuf 几...

2019-07-08 15:41:10 204 1

原创 Python 字典使用方法总结

python字典有很多种操作方法,这里做出总结方便平时查找使用。 已知一个字典,dic={"name":"zs","age":18},删除"name"字段 使用pop删除字典中的"name"字...

2019-07-08 15:40:32 172 0

原创 python中什么元素为假?

0,空字符串,空列表、空字典、空元组、None, False 示例: >>> bool(0) False >>> bool("") False >>> bool([]) False >>> bool(...

2019-07-08 15:38:17 131 0

转载 Python 字符串与字节串的相互转换

在使用 Python 做网络编程的时候难免会遇到字符串与字节流的转换,这里我们记录以下几种常用的方法: 首先是字节串转字符串,也就是str: b = b'some byte array' str(b, encoding = "utf-8") #o...

2019-07-08 13:58:37 2872 0

原创 Python两个变量的值进行交换的方法(多种操作)

使用第三方变量: '''这是第一种赋值方法,采用第三方变量''' c = a a = b b = c 使用两个变量: '''使用两个变量''' a = a+b #取...

2019-07-08 13:19:20 2246 0

原创 Python--字符串使用方法总结

python字符串有很多种操作方法,这里做出总结方便平时查找使用。 sort 描述:sort()函数用于对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数。 语法:list.sort(cmp=None, key=None, reverse=False) 参数: cmp -- ...

2019-07-05 14:10:19 161 0

转载 Win10 开启移动热点 WiFi 的简单方法

Win 10 开启移动热点 WiFi 的方法很简单,并不需要像网上那样还要输入代码什么的,只需使用鼠标点几下就好。 首先点击屏幕右下角的 windows 图标,然后点击设置图标 打开设置后点击“网络和Internet” 打开后点击左侧“移动热点”,然后将移动热点切换到“开”,之后就会显示...

2019-07-01 14:37:25 439 0

转载 python byte类型与int、str类型转换

bytes类型解释 python中的bytes类型可以类比为C中的uint8型数组,本质就是顺序排列的8bit二进制数字,例如以二进制方式从文件中读取时返回的就是bytes类型,或以b前缀的字符串也是bytes类型,如 a = b'abcd' print(type(a))...

2019-06-17 09:53:33 4606 1

转载 C语言--memset结构体初始化

memset可以方便的清空一个结构类型的变量或数组。如:   struct sample_struct   {    char csName[16];    int iSeq;    int iType;   }; 对于变量 struct sample_strcut stT...

2019-05-30 22:21:16 4216 0

原创 C语言--结构体成员指针变量与结构体指针变量的区别

先看一段代码: #include <stdio.h> #include <stdlib.h> #include <string.h> struct student{ char *name; int score; ...

2019-05-29 22:43:15 3776 4

原创 C语言--if…if…和if…else if的区别

if (条件1) { //语句1 } if (条件2) { //语句2 } 这种格式中,程序会依次判断条件1和条件2是否成立并根据结果决定是否执行语句1和语句2,也就是说,第一个 if 块和第二个 if 块没有影响(除非在执行第一个 if 块的时候就凶残地 return 了) ...

2019-05-28 23:02:59 1718 0

提示
确定要删除当前文章?
取消 删除