自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

轮子工厂

物有本末,事有终始,知所先后,则近道矣。

  • 博客(269)
  • 资源 (9)
  • 收藏
  • 关注

原创 mcu和mpu的不同之处

微处理器(MPU)通常代表一个功能强大的CPU,但不是为任何已有的特定计算目 的而设计的芯片。这种芯片往往是个人计算机和高端工作站的核心CPU。最常见的微处理器是Motorola的68K系列和Intel的X86系列。 早期的微控制器是将一个计算机集成到一个芯片中,实现嵌入式应用,故称单片机(single chip microcomputer)。随后,为了更好地满足控制领域的嵌入式应用,单片机中不断...

2018-08-02 22:24:27 12743

转载 STM32中GPIO的8种工作模式

有关推挽输出、开漏输出、复用开漏输出、复用推挽输出,以及上拉输入、下拉输入、浮空输入、模拟输入的区别最近在看数据手册的时候,发现在Cortex-M3里,对于GPIO的配置种类有8种之多:(1)GPIO_Mode_AIN 模拟输入 (2)GPIO_Mode_IN_FLOATING 浮空输入(3)GPIO_Mode_IPD 下拉输入 (4)GPIO_Mode_IPU 上拉输入 (5)G...

2018-07-20 06:50:34 10387

转载 STM32之中断与事件---中断与事件的区别

这张图是一条外部中断线或外部事件线的示意图,图中信号线上划有一条斜线,旁边标志19字样的注释,表示这样的线路共有19套.图中的蓝色虚线箭头,标出了外部中断信号的传输路径,首先外部信号从编号1的芯片管脚进入,经过编号2的边沿检测电路,通过编号3的或门进入中断挂起请求寄存器,最后经过编号4的与门输出到NVIC中断检测电路,这个边沿检测电路受上升沿或下降沿选择寄存器控制,用户可以使用这两个寄存器控制...

2018-07-20 06:33:47 272

转载 C语言--结构体的4种初始化方式

//// main.c// C语言学习 #include <stdio.h> int main(int argc, const char * argv[]) { //定义结构体类型 struct Person { char *name; int age; double heigth;...

2018-07-18 16:31:53 921

转载 用于汽车电子的CAN、LIN、MOST总线

未来汽车电子的整个网络将是CAN、LIN、MOST三网合一的整体。MOST负责音视频,CAN负责重要的电子控制单元,如发动机、ABS、安全气囊等,LIN负责次要的电子控制单元,如门窗、车灯等。一、CAN总线技术简介  CAN总线又称作汽车总线,其全称为“控制器局域网(CAN—Controller Area Network)”。CAN总线是一种现场总线(区别于办公室总线),是德国Bosch公司为解决...

2018-06-18 23:03:19 4105

原创 Linux 多线程编程(三)

1 线程安全多线程编程环境中,多个线程同时调用某些函数可能会产生错误结果,这些函数称为非线程安全函数。如果库函数能够在多个线程中同时执行并且不会互相干扰,那么这个库函数就是线程安全( thread-safe)函数 。2 互斥量2.1 临界区 在计算机系统中有许多共享资源不允许用户并行使用。例如打印机设备,如果它同时进行两份文档打印,它的输出就会产生交错,从而都无法获得正确的文档。像打印机这样的共享...

2018-06-01 18:03:34 4572 1

原创 Linux 多线程编程(二)

线程管理线程管理包含了线程的创建、终止、等待、分离、设置属性等操作。1 线程 ID线程 ID 可以看作为线程的句柄,用来引用一个线程。Pthreads 线程有一个 pthread_t 类型的 ID 来引用。线程可以通过调用 pthread_self()函数来获取自己的 ID。 pthread_self()函数原型如下:pthread_t pthread_self(void);该函数返回调用线程的线...

2018-06-01 16:00:52 1277

原创 Linux 多线程编程(一)

多线程编程是项目中常用技术。本章先介绍线程的基础知识,接着讲解 Pthread 的线程管理,互斥量、条件变量等函数。Linux 多线程概述1 什么是线程线程( thread)是包含在进程内部的顺序执行流,是进程中的实际运作单位,也是操作系统能够进行调度的最小单位。一个进程中可以并发多条线程,每条线程并行执行不同的任务。2 线程与进程的关系线程与进程的关系可以归结于以下几点:一个线程只能属于一个进程...

2018-06-01 16:00:27 905

原创 嵌入式中断的一些整理

中断的分类硬件中断(Hardware Interrupt): 一般是由外部(相对CPU内核而言)的硬件引起的事件,比如串口来数据,键盘击键等;软件中断(Soft Interrupt): 通过在程序中执行的中断指令引起的中断,又叫软陷;80X86: int指令68000:trap指令ARM: SWI指令软中断指令一般用于操作系统的系统调用入口;异常(Exception): 由于CPU内部在运行过程中...

2018-05-23 07:33:15 8465

转载 C语言--进阶之结构体、联合、枚举、sizeof

1 结构体结构是由若干(可不同类型的)数据项组合而成的复合数据对象,这些数据项称为结构的成分或成员。(1)字段C语言的结构还提供了一种定义字段的机制,使人在需要时能把几个结构成员压缩到一个基本数据类型成员成员里存放,这可以看作是一种数据压缩表示方式。struct pack{ unsigned a:2; unsigned b:8; unsigned c:6;}pk1,pk2...

2018-05-20 19:37:56 905

转载 C语言--进阶之内存陷阱

看看这段代码有什么问题?char *DoSomething(...){ char i[32*1024]; memset(i,0,32*1024); ... return i;}两个重大的问题:1. 临时变量是通过堆栈实现的,太大的临时变量数组会冲掉堆栈2. 返回堆栈中的地址是非常危险的,因为堆栈中的值永远是不确定的看看这段代码有什么问题?void DoSo...

2018-05-19 21:22:22 601

转载 H264码流打包分析

http://www.cnblogs.com/lidabo/p/4602422.htmlSODB 数据比特串 ,最原始的编码数据RBSP 原始字节序列载荷 ,在SODB的后面填加了结尾比特(RBSP trailing bits 一个bit“1”)若干比特“0”,以便字节对齐。EBSP 扩展字节序列载荷 ,在RBSP基础上填加了仿校验字节(0X03)它的原因是: 在NALU加到Annex

2018-05-17 22:46:37 491

转载 C语言--位运算相关

1. 概述所谓的位运算是进行二进制位的运算。在系统软件中,常要处理二进制位的问题。c提供的位运算符有:& 按位与| 按位或^ 按位异或~ 取反<< 左移>> 右移&对于将一个单元清零、取一个数中的某些指定位以及保留指定位有很大用途。|常用来将一个数的某些位置1.^判断两个位值,不同为1,相同为0.常用来特定...

2018-05-16 07:33:12 218

原创 CodeWarrior安装步骤

CodeWarrior 的最新版可以在Freescale的官方网站下载到http://www.freescale.com/ Special Editions为免费版,有30K代码限制等一系列限制,但不会影响使用。  安装哪个版本都可以,安装后只要替换license.dat 文件就可以。有的人在Windows7下安装后运行会产生问题,可以先安装Visual Studio,再安装Cod

2018-05-15 22:27:23 10789

翻译 C语言--指针相关

指针数组指针数组无疑就是数组元素为指针,定义形式为:类型标识符 *数组名[数组长度]如:int *p[4],千万不要写成int(*p)[4],这是指向一维数组的指针变量。指针数组多用于存放若干个字符串的首地址,注意一点,定义指针数组时初始化,如下:static char *name[] = {"Li ji","Wang ha","He miao"};不要以为数组中存放的是字符串,...

2018-05-15 22:19:30 207

原创 C语言--返回指针值的函数

我们知道,一个函数可以带回一个整型值、字符值、实型值等,函数还可以带回一个指针型的数据,即地址。这种函数的定义形式如下:类型标识符 *函数名(参数表) 如:int *a(x,y)返回一个指向整型的指针使用这种函数的时候要注意:在调用时要先定义一个适当的指针来接收函数的返回值。这个适当的指针其类型应为函数返回指针所指向的类型。这样的函数比较难于理解,其实只要把它当做一般的函数来处理就容易...

2018-05-15 21:56:15 5026

原创 C语言--函数指针的用法总结

一个函数在编译时被分配一个入口地址,这个入口地址就称为函数的指针。函数名代表函数的入口地址,这一点和数组一样。我们可以用一个指针变量来存放这个入口地址,然后通过该指针变量调用函数。如:假设有一个求两者较大的函数如下:int max(int x, int y);当我们调用这个函数时可以这样:int c;c max(a,b);这是通常调用方法,其实我们可以定义一个函数指针,通过指...

2018-05-15 21:54:22 19538 7

转载 一个30岁程序员的对于中年危机的思考和应对

1. 前言       2005年,我怀着对大学生活无限的憧憬,上了某大学的软件工程专业。从报这个专业的第一天起,就听过无数软件行业是“青春饭”的言论。时至今日,当年青涩的毛头小子也已工作了8年之久,转眼就步入了而立之年,并且成为了一个孩子的父亲。       现在说IT行业是“青春饭”的言论已经少了很多,但是对于IT行业”中年危机“的讨论越来越多,尤其是前端时间华为那个34岁员工被裁员的事儿,引...

2018-04-19 22:14:04 283

转载 C语言--库函数 - remove()

描述C 库函数int remove(const char *filename)删除给定的文件名filename,以便它不再被访问。声明下面是 remove() 函数的声明。int remove(const char *filename)参数filename-- 这是 C 字符串,包含了要被删除的文件名称。返回值如果成功,则返回零。如果错误,则返回 -1...

2018-03-13 22:16:38 4728

转载 C语言--详解sizeof

一、sizeof的概念  sizeof是C语言的一种单目操作符,如C语言的其他操作符++、--等,它并不是函数。sizeof操作符以字节形式给出了其操作数的存储大小。操作数可以是一个表达式或括在括号内的类型名。操作数的存储大小由操作数的类型决定。 二、sizeof的使用方法  1、用于数据类型   sizeof使用形式: sizeof(type)...

2018-03-12 22:31:36 542

转载 程序破解及ELF文件格式分析

程序破解NOP、JNE、JE、JMP、CMP汇编指令的机器码NOP:NOP指令即“空指令”。执行到NOP指令时,CPU什么也不做,仅仅当做一个指令执行过去并继续执行NOP后面的一条指令。(机器码:90)JNE:条件转移指令,如果不相等则跳转。(机器码:75)JE:条件转移指令,如果相等则跳转。(机器码:74)JMP:无条件转移指令。段内直接短转Jmp short(机器码:EB)段内直接近转移Jmp...

2018-03-09 22:48:13 3716

转载 程序员如何渡过中年危机

别人写的截一段感觉自己有用的mark一下: 23-27岁:技术积累阶段。假设本科23岁毕业,那么工作的前5年对你来说就是打基础的阶段。在这5年时间里面,你要积累足够的技术底子,打磨自己的技术实力,成为某一个技术细分领域的牛人. 只有真正经历过贫穷,经历过苦难的人,才会越早就懂得努力才是自己这一生唯一的出路和机会。27-30岁:形成思维方法论和知识体系的阶段。当你积累足够的技术实力,例如超过10万行...

2018-03-04 21:36:29 647

原创 编程经验

智者的梦再美,也不如愚人实干的步伐!讲一千遍理论,不如写一行代码!任何语言不落实到实际行动上都等于白说,没读过MSDN例子代码的程序员实在让人感到可怕!用C语言1000行源码能完成的工作千万不要用C++重写,整天把高级技术放在嘴边那是一种浮夸!少年啊,千万要重视单步调试和设置断点,用VC调试时记得按下Alt+5、Alt+6、Alt+7和Alt+8。对学习编程者的忠告:眼过千遍不如手过一遍!书看千行...

2018-02-28 13:11:39 797

转载 上位机和下位机的概念

上位机是指:人可以直接发出操控命令的计算机,一般是PC,屏幕上显示各种信号变化(液压,水位,温度等)。下位机是指:直接控制设备获取设备状况的的计算机,一般是PLC/单片机之类的。上位机发出的命令首先给下位机,下位机再根据此命令解释成相应时序信号直接控制相应设备。下位机不时读取设备状态数据(一般模拟量),转化成数字信号反馈给上位机。简言之如此,真实情况千差万别不离其宗。上下位机都需要编程,都有专门的...

2018-02-27 09:18:41 11853

原创 Source insight 的一些命令总结

选择操作:Shift+Left 选择当前位置左边一个字符Shift+Right 选择当前位置右边一个字符Shift+Down 从当前行开始向下选择Shift+Up 从当前行开始向上选择Ctrl+- 选择一块,就是{}之间的Shift+F6 选择一行Shift+PgDn 选择上页Shift+PgUp 选择下页Shift+F7,Ctr

2018-02-06 09:23:52 1853

转载 TTL和RS232之间的详细对比

【背景】之前就听过TTL,一直没搞懂其和RS232的区别。最近,打算去买个USB转RS232的芯片,结果找到此产品:六合一多功能USB转UART串口模块CP2102 usb TTL485 232互转自恢复正面:背面:其中的:以及引脚说明:都提到了,不仅仅支持RS232,还支持TTL。所以,再次遇到TTL,需要去搞清楚,TTL和RS

2018-02-05 15:16:48 50021 5

转载 终端,Shell、tty、console有什么区别?

在早期的电脑上,往往具有带有大量开关和指示灯的面板,可以对电脑进行一些底层的操作,这个面板就叫做Console。其概念来自于管风琴的控制台。一台电脑通常只能有一个Console,很多时候是电脑主机的一部分,和CPU共享一个机柜。一台大型主机往往需要支持许多用户同时使用,每个用户所使用操作的设备,就叫做Termial——终端,终端使用通信电缆与电脑主机连接,甚至可以通过电信网络(电话、电

2018-01-31 23:14:00 4970 1

原创 C语言--“.”与“->”有什么区别?

这虽然是个小问题,但有时候很容易让人迷惑,因为有的时候用混淆了,程序编译不通过。下面说说我对它们的理解。一般情况下用“.”,只需要声明一个结构体。格式是,结构体类型名+结构体名。然后用结构体名加“.”加域名就可以引用域 了。因为自动分配了结构体的内存。如同 int a;一样。而用“->”,则要声明一个结构体的指针,还要手动开辟一个该结构体的内存,然后把返回的指针...

2018-01-28 22:12:25 71744 18

转载 USB协议架构及驱动架构

1. USB协议1.1 USB主机系统在USB主机系统中,通过根集线器与外部USB从机设备相连的处理芯片,称为USB主机控制器。USB主机控制器包含硬件、软件和固件一部分。1.2 USB设备系统USB设备按功能分为两部分:集线器(Hub)和功能部件。从下图可知,主机通过根集线器连接到各种外围设备(集线器和功能部件)。 1.3 主机和设备之间通信模型上图展示了USB主机和USB设备之间的数据传输过程

2017-12-26 16:51:31 2011 1

转载 快速USB学习

USB 的优点相信大家都知道了,而且还很赚钱,嘿嘿,这里就不多说,不懂的就去看看书吧,这里要说的是如何快速掌握USB技术。这篇文章一方面是我对USB学习的一个总结,另一方面是为了方便初学者入门学习。学习USB,一本好的教材是少不了的,我以前看过了很多关于USB的书,但是大部分的书都看得不明不白,原因是编者没有从初学者的角度来考虑问题,这里要推荐的书是由马伟编著的《计算机USB系统原理及其主/从

2017-12-19 10:07:24 2314 1

转载 USB 关键字

USB 涉及 PC 和嵌入式领域 , 完整的 USB 设备和主机的设计会应用到其中很多概念和知识。 因此 , 作为起步阶段 , 能够了解和掌握各种关键的概念、词汇及其简称 , 对于整个 USB 知识的把握是很必要的。 下面列举一些常用的关键字的简称和释义。(1) 握手应答包( Acknowledge Packet , 简写为 ACK)。 用于 USB 主机与设备之间数据传输时 , 指示

2017-12-12 11:06:52 403

转载 程序员的100条座右铭

1、猫在练习长跑,乌龟讽刺道:再练,也不能跑出个长跑冠军!猫答:  我成不了豹子,却能做最棒的猫!是的,努力做好自己,做到最棒,就是成功! 2、一万元以内的奢侈品,可以买,但不可以炫耀。3、别人可以拷贝我的模式,不能拷贝我的苦难,不能拷贝我不断往前的激情。 4、就算月挣3000,房租(贷)2000,但该请客的时候也决不含糊。 5、买个闹钟,以便按时叫醒你:  自贪睡和不守时

2017-12-11 16:57:02 5489

转载 STM32——SPI接口

一、SPI协议【Serial Peripheral Interface】 串行外围设备接口,是一种高速全双工的通信总线。在ADC/LCD等与MCU间通信。1. SPI信号线 SPI 总线包含 4 条总线,分别为SS 、SCK、MOSI、MISO。 - SS(SlaveSelect):片选信号线,当有多个 SPI 设备与MCU 相连时,每个设备的这个片选信号线是与MCU单独的引脚相连的

2017-12-08 15:35:20 1110

转载 STM32 DMA使用详解

DMA部分我用到的相对简单,当然,可能这是新东西,我暂时还用不到它的复杂功能吧。下面用问答的形式表达我的思路。DMA的定义直接存储器存取(Direct Memory Access,DMA)是计算机科学中的一种内存访问技术。它允许某些电脑内部的硬体子系统(电脑外设),可以独立地直接读写系统存储器,而不需绕道 CPU。在同等程度的CPU负担下,DMA是一种快速的数据传送方式。它允许不同速度的硬件装置来

2017-12-08 09:17:19 43522 3

转载 STM32,共享单车背后芯片的小秘密

“共享经济”的概念一出来,突然好多“共享”都火了,大到“共享资源”、“共享网络”、“共享出行”、“共享单车”、“共享汽车”,小到“共享充电宝”、“共享宠物”等,被共享经济冠名的行业越来越多。   然而在“共享经济”大背景下的“共享单车”,可谓是当今最火的,最接地气的,鲜为人知的。笔者曾经细数过,全国共享单车的应用软件已有三十余个,单车也是五花八门的分布在各个省市街区:摩拜、ofo,

2017-12-07 15:58:32 4516

转载 牛人对STM32的NVIC_PriorityGroupConfig使用及优先级分组方式理解

STM32有43个channel的settable的中断源;AIRC(Application Interrupt and Reset Register)寄存器中有用于指定优先级的4 bits。这4个bits用于分配pre-emption优先级和sub优先级,在STM32的固件库中定义如下/* Preemption Priority Group ---------------------------

2017-12-07 15:38:55 6102

原创 STM32时钟树分析

对于广大初次接触 STM32 的读者朋友(甚至是初次接触 ARM 器件的读者朋友)来说,在熟悉了开发环境的使用之后,往往“栽倒”在同一个问题上。这问题有个关键字叫:时钟树。众所周知,微控制器(处理器)的运行必须要依赖周期性的时钟脉冲来驱动——往往由 一个外部晶体振荡器提供时钟输入为始,最终转换为多个外部设备的周期性运作为末,这种 时钟“能量”扩散流动的路径,犹如大树的养分通过主干流向各个分支,因

2017-12-07 10:40:38 599

原创 stm32时钟问题简单介绍

一、时钟1.三种不同的时钟源可被用来驱动系统时钟(SYSCLK):.HSI 振荡器时钟  High Speed Internal.HSE 振荡器时钟  High Speed External.PLL 时钟        Phase Locked Loop2.这些设备有以下2种二级时钟源:.32kHz 低速内部RC【1】,可以用于驱动独立看门狗和RTC。RTC用于从停机/待机

2017-12-06 17:12:36 3698

转载 STM32中断优先级和开关总中断(很老很经典)

一、中断优先级:STM32(Cortex-M3)中的优先级概念STM32(Cortex-M3)中有两个优先级的概念——抢占式优先级和响应优先级,有人把响应优先级称作'亚优先级'或'副优先级',每个中断源都需要被指定这两种优先级。具有高抢占式优先级的中断可以在具有低抢占式优先级的中断处理过程中被响应,即中断嵌套,或者说高抢占式优先级的中断可以嵌套低抢占式优先级的中断。

2017-12-06 15:50:25 9299

转载 C语言--bool型变量问题详解

环境linux下GCC编译器#include<stdio.h>#include<stdbool.h>#include<string.h>intmain(void){boola,b,c,d,e;a=true;b=false;c=0;d=1;...

2017-12-06 13:26:14 5253 1

candictionary_v1_cn.pdf

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

2020-05-05

字库生成器

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

2017-11-01

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

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

2017-05-02

STM32与AVR的IIC通信例程

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

2017-03-04

H264文件查看器

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

2017-02-28

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

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

2017-02-19

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

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

2017-02-19

空空如也

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

TA关注的人

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