自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(245)
  • 资源 (10)
  • 论坛 (9)
  • 收藏
  • 关注

转载 数据通信--ASCII码通信&16进制通信的区别

16进制通信一般用于网络传输等的通信上,传输效率高、数据量大是二进制通信。ASCII码通信一般用与串口通信等通信上,数据量小、易于处理、便于调试,它虽然是文本模式,但本质仍然是二进制通信。在使用串口发送数据时可以选择字符串发送或者十六进制发送,通常情况下我们习惯选用字符串发送数据。关于两者的区别,需要从计算机存储数据的格式说起。在计算机中,数据是以二进制的形式存储的,例如十进制 1(10)在计算机中用 0000 0001(2)来表示。我们在用串口发送数据的时候首先将待数据转换为对应的ASCII码

2021-01-21 10:03:16 412

原创 数据通信--大小端转换

一、什么是大小端内存地址 小端模式存放内容 大端模式存放内容 0x0000 0x78 0x12 0x0001 0x56 0x34 0x0002 0x34 0x56 0x0003 0x12 0x78 以0x12345678为例,可以看出。大端,存放规则:12345678 显示规则:12345678即低地址放高位,高地址放地位。小端,存放规则:78563412 显示规则:12345678即低地址放低位,高...

2020-11-08 15:02:25 205

转载 linux-signal 信号的处理机制

最近同事的程序设计过程中用到了Linux的signal机制,从而引发了我对Linux中signal机制的思考。Signal机制在Linux中是一个非常常用的进程间通信机制,很多人在使用的时候不会考虑该机制是具体如何实现的。signal机制可以被理解成进程的软中断,因此在实时性方面还是相对比较高的。Linux中signal机制的模型可以采用下图进行描述。 每个进程都会采用一个进程控制块对其进行描述,进程控制块中设计了一个si...

2020-07-11 17:04:23 205

转载 git 修改历史提交的commit信息(重写历史)

修改最新的log信息修改历史的log信息修改历史的版本信息(非最新一条),会稍稍麻烦一点,不过也可以搞定,这里用到的方法就是git命令的重写历史功能.假定我们现在的提交信息是这样的$ git logcommit 9ac1179332670365a3e5ea00a6486998eb66db7a (HEAD -> fix_aop_no_class_defined, origin/fix_aop_no_class_defined)Author: candyleer <295198.

2020-07-11 14:14:12 1197

原创 git 切换版本库的历史状态

1. 查看版本库历史状态git log //命令显示从最近到最远的提交日志git log --pretty=oneline //精简信息git reflog //用来记录你的每一次命令(很重要)2. 在当前版本回退到上一个版本$ git reset --hard HEAD^HEAD is now at e475afc add distributed3. 跳转到指定版本号(必须要知道那个版本的commitid)$ git reset --hard 1094a

2020-07-08 20:34:06 161

原创 git merge命令使用

暂无...

2020-07-08 20:17:52 134

原创 环形数据结构用法归纳与总结

这里环形数据结构主要包括:环形链表、环形队列等。一、环形链表1. 如何判断一个链表是否有环判断单链表是否有环2. 如何判断一个链表是否为空pHead为指向表头结点的指针,分别写出带有头结点的单链表、单项循环链表和双向循环链表判空的条件单链表 NULL==pHead->next单向循环 pHead==pHead-&gt...

2020-07-08 20:03:55 235

转载 git 把几个commit点合并成一个commit点

具体步骤:1. git log 查看最近提交的 commit 历史commit3commit2commit12. 执行 git rebase 命令,如果是合并commit3 commit2的命令,则需要执行:git rebase -i commit1 //commit2 和 commit3 合成的commitid最后需要依赖于 commit1注意:commit3 只能合并到commit2中去,commit2不能合并到commit3中去,因为commit3是依赖于commi..

2020-07-08 20:00:10 712

原创 git 删除远程仓库的最近一次提交

假设你有3个commit如下:commit 3commit 2commit 1其中最后一次提交commit 3是错误的,那么可以执行:git reset --hard HEAD~1你会发现,HEAD is now at commit 2。然后再使用git push --force将本次变更强行推送至服务器。这样在服务器上的最后一次错误提交也彻底消失了具体步骤就是:1. git log //查看最近提交的 commit 历史2. git reset --hard

2020-07-08 19:52:26 646

转载 git stash 详解

一、应用场景1. 当正在dev分支上开发某个项目,这时项目中出现一个bug,需要紧急修复,但是正在开发的内容只是完成一半,还不想提交,这时可以用 git stash 命令将修改的内容保存至堆栈区,然后顺利切换到其它分支进行bug修复,修复完成后,再次切回到dev分支,从堆栈中恢复刚刚保存的内容。2. 由于疏忽,本应该在dev分支开发的内容,却在master上进行了开发,需要重新切回到dev分支上进行开发,可以用git stash将内容保存至堆栈中,切回到dev分支后,再次恢复内容即可。3.

2020-07-08 19:47:48 124

转载 git branch的作用

git合并到主分支合并到分支到master上1、先建一个分支(所有的改动都是在分支上) git branch 分支名2、切换到新建的分支 git checkout 分支名切换到新的分支3、先提交代码到分支上 git add . git commit -m “”4、先切换至主支上 ...

2020-07-08 19:21:24 569

转载 git 修改未push和已经push的注释信息

1. 修改还未push的注释:git commit --amend 修改后保存退出。2. 刚刚push到远端还没有人其他人下载或改动的:git commit --amend进入修改页面修改注释信息,修改后:wq保存退出。再使用:git push --force-with-lease origin master3. 如果其他人已经下载或改动:git fetch origingit reset --hard origin/master...

2020-07-08 19:11:20 251

转载 git 指定分支拉代码

1.git clone 不指定分支 git clone http://10.1.1.11/service/tmall-service.git2.git clone 指定分支 git clone -b dev_jk http://10.1.1.11/service/tmall-service.git命令中:多了一个 -b dev-jk, 这个dev_jk就是分支,http://10.1.1.11/service/tmall-service.git 为源码的仓库地址。...

2020-07-08 19:08:22 179

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

一、STM32的bxCAN控制器bxCAN是基本扩展CAN(Basic Extended CAN)的缩写,它支持CAN协议2.0A和2.0B。它的设计目标是,以最小的CPU负荷来高效处理大量收到的报文。它也支持报文发送的优先级要求(优先级特性可软件配置)。对于安全紧要的应用, bxCAN提供所有支持时间触发通信模式所需的硬件功能。STM32至少配备一个bxCAN控制器,它具有如下几个特点:支持CAN协议2.0A和2.0B主动模式 波特率最高可达1Mbps 支持时间触发通信功能 11位的标准

2020-05-11 21:36:16 844 1

原创 CAN FD Driver-裸机模式

一、大致框架CAN总线的系统架构,CAN总线上挂在相应的设备节点。这些设备节点包含:最底层也就是物理层的CAN收发器(和本次使用CAN收发器有所区别,仅供参考)。 信息协议层也就是CAN控制器(和本次使用的CAN2517FD有所区别,仅供参考),主要体现在数据链路层这一部分。 应用程序,具体表现在控制器以不同的通信方式、MCP2517FD提供的相应指令集和指令集格式对CAN2517FD的寄存器进行读写操作,进而实现相应的功能。具体可参考:CAN总线数据链路层分析(四) 二、CAN

2020-05-10 22:03:07 882 12

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

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

2020-05-09 23:55:04 1096 1

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

在SPI通信中,片选、时钟信号、数据输入及数据输出这四个信号都有单独的信号线。而CAN使用的是两条差分信号线,只能表达一个信号。简洁的物理层决定了CAN必然要配上一套更为复杂的协议。如何用一个信号通道实现同样甚至更强大的功能,答案就是对数据或操作命令进行打包。一、通信机制1.1 多主机(Multi-Master)安全敏感的应用(如汽车动力)对通信系统的可靠性要求很高。将总线能否正常工作...

2020-05-07 18:55:07 1190

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

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

2020-05-05 16:01:27 688

原创 CAN总线的标准(二)

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

2020-05-05 12:08:28 1001

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

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

2020-05-05 11:50:52 741

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

一、前言注:本文是对众多博客的学习和总结,可能存在理解错误。请带着怀疑的眼光,同时如果有错误希望能指出。同步IO和异步IO,阻塞IO和非阻塞IO分别是什么,到底有什么区别?不同的人在不同的上下文下给出的答案是不同的。所以先限定一下本文的上下文。本文讨论的背景是Linux环境下的network IO。二、概念说明在进行解释之前,首先要说明几个概念:用户空间和内核空间 进程切...

2020-04-25 17:09:10 100

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

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

2020-04-12 23:46:57 300

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

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

2019-12-01 10:06:28 288

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

title: cURL-04_基于libcurl库的开发date: 2019-11-06 22:36:01tags: [cURL]categories: cURLlibcurl是一个简单易用的基于URL传输的客户端开发库,支持多种平台以及三十多种开发语言绑定。libcurl是线程安全的,兼容IPv6,功能强大且运行效率高,很多知名公司如Google、Adobe的产品都应用过libcur...

2019-11-24 23:32:24 101

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

title: cURL-03-cURL的几种语言支持date: 2019-11-03 23:38:29tags: [cURL]categories: cURL一、基于 C 的 HTTP 客户端C API 在 libcurl 功能上提供了两个 API。easy 接口是一个简单的同步 API(意味着当您使用请求调用 libcurl 时,将能够满足您的请求,直到完成或发生错误)。多接口可以进...

2019-11-24 23:31:48 153

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

title: cURL-02_在命令行中使用cURLdate: 2019-11-03 23:38:29tags: [cURL]categories: cURL一、获取和安装 cURL/libcurl获取和安装 libcurl 非常简单,取决于您所运行的 Linux 发行版。如果运行的是 Ubuntu,您可以使用 apt-get轻松安装这些包。以下行演示了如何为 libcurl 安装 l...

2019-11-24 23:31:04 123

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

title: cURL-01_基本概念与了解date: 2019-11-03 11:59:28tags: [cURL]categories: cURL一、基本概念cURL(Client URL Library Functions)is a command line tool for transfering data with URL syntax(使用 URL 语法传输数据的命令行工具...

2019-11-24 23:29:20 249

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

title: Camera-摄像头工作原理(转载)date: 2019-11-09 21:13:43tags: [摄像头]categories: Camera回想这工作的这几年,尝尽社会的辛酸艰难,从一开始什么都没有到30万,从30万到200万,从200万到1300万,不是炫耀,我只是想通过我自己的经历告诉我的朋友们「手机像素越高,拍的照片越清晰」摄像头结构[外链图片转存失败,...

2019-11-24 23:12:39 1154

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

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

2019-08-27 16:38:53 1459

原创 FlexCAN简单介绍

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

2019-08-15 10:55:52 5129

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

1 前言在CAN协议里,报文的标识符不代表节点的地址,而是跟报文的内容相关的。因此,发送者以广播的形式把报文发送给所有的接收者。节点在接收报文时,根据标识符(CAN ID)的值决定软件是否需要该报文;如果需要,就拷贝到SRAM里;如果不需要,报文就被丢弃且无需软件的干预。为满足这一需求,bxCAN为应用程序提供了14个位宽可变的、可配置的过滤器组(13~0),以便只接收那...

2019-08-08 13:30:27 2664

转载 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[-1])print(list)# [1, 2, 3]3、切片list = [1,2,3...

2019-07-30 14:11:25 20866

转载 git 删除远程仓库里的某个文件/文件夹

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

2019-07-17 09:41:55 654

转载 Python--基础认知

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

2019-07-09 15:36:32 275

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

a = 'lishi'str1 = "li"str2 = "shi"str3 = str1 + str2print("a == str3",a == str3)print("a is str3",a is str3)print("id(a)",id(a))print("id(str3)",id(str3))# a == str3 ,True == ---> 只需要内...

2019-07-09 15:16:22 137

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

1. 单引号和双引号没有什么区别,不过单引号不用按shift,打字稍微快一点。表示字符串的时候,单引号里面可以用双引号,而不用转义字符,反之亦然。'She said:"Yes." ' or "She said: 'Yes.' "2. 但是如果直接用单引号扩住单引号,则需要转义,像这样:' She said:\'Yes.\' '3. 三引号可以直接书写多行,通常用于大段,大篇幅的字符...

2019-07-09 11:15:12 3148 1

原创 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]#交集>>> jj2 = list(set(a).intersection(s...

2019-07-09 09:51:20 121

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

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

2019-07-08 17:54:04 1518

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

方法一,zip函数>>> dic = {"name":"zs","sex":"man","city":"beijing"}#1. 字典转列表嵌套元组>>> foo = zip(dic.keys(),dic.values())>>> foo = [i for i in foo]>>> print("字典转成列表嵌...

2019-07-08 17:24:00 2005

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

>>> foo = [["zs",19],["ll",54],["wa",23],["df",23],["xf",23]]按照年龄排序>>> a=sorted(foo,key=lambda x:(x[1],x[0]))#年龄相同,添加参数安字母排序按照字母排序>>> b=sorted(foo,key=lambda x:x[0])...

2019-07-08 16:51:07 132

AVS到MPEG-4的视频转码研究与实现

AVS到MPEG-4的视频转码研究与实现,随着多媒体技术的飞速发展,无线移动网、因特网等各种网络之间的融合已成为趋势,实现不同网络中视频编码方案之间的无缝连接变得越来越重要。

2017-02-23

candictionary_v1_cn.pdf

本词典简要介绍 CAN 技术中使用的词汇和缩写。它并非用于代替任何标准或规范。借助CAN 词典,CAN 新用户可不必查阅标准和规范就能很方便地了解技术文章、手册等。

2020-05-05

H264文件查看器

查看H264文件结构层次的工具,可以很方面的查看文件的片组信息。

2017-02-28

用Eclipse和GDB构建ARM交叉编译和在线调试环境

用Eclipse和GDB构建ARM交叉编译和在线调试环境,很详细,可以参考

2017-05-02

字库生成器

字库生成器,可直接生成使用。 无需注册即可使用。。。

2017-11-01

HEVC(H265)标准文档JCTVC-L1003-v9

HEVC(H265)标准文档JCTVC-L1003-v9,纯英文版

2017-02-19

Hi3515C H.264编解码处理器用户指南

Hi3520D/Hi3515A/Hi3515C H.264编解码处理器用户指南

2017-03-06

scrt安装包

SecureCRT安装包 带安装与破解方法步骤说明

2017-05-02

h264中文协议(中英文对照)H264解码手册

h264中文协议(中英文对照)H264解码手册

2017-02-19

STM32与AVR的IIC通信例程

STM32F103作为主机,AVR的Mega8A作为从机惊醒通信,已验证没有问题,可以直接使用。

2017-03-04

移植4.1内核时遇到devtmpfs: error mounting -2这样的问题

发表于 2018-08-13 最后回复 2020-03-12

faihung的留言板

发表于 2020-01-02 最后回复 2020-01-02

linux系统,程序通过Web端升级过程中遇到的问题

发表于 2018-02-02 最后回复 2018-11-05

求可用的OPKG网站

发表于 2018-09-18 最后回复 2018-09-18

Source Insight4.0使用问题

发表于 2018-01-15 最后回复 2018-01-16

c语言和C++混合编程的问题

发表于 2017-05-29 最后回复 2018-01-15

服务端与客户端通信莫名其妙断开的问题?

发表于 2017-05-16 最后回复 2017-05-29

如何将整个系统+程序通过软件读成一个Bin文件

发表于 2017-04-07 最后回复 2017-05-16

Linux程序在终端前台可以运行,但是切换到后台就没反应

发表于 2017-02-22 最后回复 2017-02-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

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