自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 资源 (6)
  • 问答 (2)
  • 收藏
  • 关注

转载 SRAM

SRAM(Static Random Access Memory),即静态随机存取存储器。它是一种具有静止存取功能的内存,不需要刷新电路即能保存它内部存储的数据。◎优点,速度快,不必配合内存刷新电路,可提高整体的工作效率。◎缺点,集成度低,掉电不能保存数据,功耗较大,相同的容量体积较大,而且价格较高,少量用于关键性系统以提高效率。综上,他也会掉电丢失数据

2016-11-30 20:10:56 425

转载 怎样写参数个数可变的宏

#if   #ifdef #if defined  在 GNU C 中,宏可以接受可变数目的参数,就象函数一样,例如:#define pr_debug(fmt,arg...) /printk(KERN_DEBUG fmt,##arg)用可变参数宏(variadic macros)传递可变参数表你可能很熟悉在函数中使用可变参数表,如

2016-11-28 20:58:59 197

转载 printf 的宏定义版本

printf 的宏定义版本 前言:我们在写程序的时候,总是或多或少会加入一些printf之类的语句用于输出调试信息,但是printf语句有个很不方便的地方就是当我们需要发布程序的时候要一条一条的把这些语句删除,而一旦需要再次调试的时候,这些语句又不得不一条条的加上,这给我们带来了很大的不便,浪费了我们很多的时间,也造成了调试的效率低下。所以,很多人会选择使用宏定义的方式来输出调试语句。比如,定义一

2016-11-28 20:54:42 349

转载 头文件为什么要加#ifndef #define #endif

#ifndef在头文件中的作用在一个大的软件工程里面,可能会有多个文件同时包含一个头文件,当这些文件编译链接成一个可执行文件时,就会出现大量“重定义”的错误。在头文件中实用#ifndef #define #endif能避免头文件的重定义。方法:例如要编写头文件test.h在头文件开头写上两行:#ifndef _TEST_H#define _TEST_H//一般是

2016-11-28 19:57:26 583

转载 uCOSii OSSchedLock()等函数说明

时间管理服务函数是以系统节拍为处理单位的,实际的时间与希望的时间是有误差的,最坏的情况下误差接近一个系统节拍。因此时间管理服务函数只能用在对时间精度要求不高的场合,或者时间间隔较长的场合。1. void  OSSchedLock(void);void  OSSchedLock (void){#if OS_CRITICAL_METHOD == 3        

2016-11-24 19:43:48 5466

转载 浅析C语言中assert的用法

1、assert宏的原型定义在中,其作用是如果它的条件返回错误,则终止程序执行,原型定义:#include void assert( int expression );      assert的作用是现计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息,然后通过调用 abort 来终止程序运行。2、使用

2016-11-23 15:00:36 435

转载 指针函数与函数指针

1.指针函数先看下面的函数声明,注意,此函数有返回值,返回值为int *,即返回值是指针类型的。[cpp] view plain copy print?int *f(int a, int b);  int *f(int a, int b);上面的函数声明又可以写成如下形式:int* f(int a, int b);让指针标

2016-11-22 17:32:45 232

转载 ucos-ii学习笔记——信号量集(事件标志组)的原理及使用

ucos-ii学习笔记——信号量集(事件标志组)的原理及使用 Created on: 2012-10-8      Author: zhang bin 学习笔记for ucos-ii  PCredesigned by zhang bin2012-10-8versions:V-0.1All Rights Reserved    

2016-11-21 18:17:15 2579 1

转载 ucos-ii 任务的删除

创建任务的过程,首先分配一个空闲的TCB给任务,然后对该TCB的各个域进行赋值,对任务的堆栈进行初始化,其中,任务的代码的地址被压入堆栈。这为以后任务的运行做了充分准备。就绪表和就绪组做了适当的处理,根据任务的优先级进行了设置。就绪TCB链表也插入了该TCB。那么若将任务删除,就是任务创建的逆过程,应该将就绪表、就绪组进行逆向操作,就绪链表中的相关TCB应该被移除,转移到空闲T

2016-11-21 15:59:11 1485

转载 ucosIII 任务同步(信号量、任务信号量、事件标记组)

UCOS-III 消息队列正确使用方法2016-1-8          在基于gprs消息传输过程中,使用ucos-iii自带的消息队列最为缓存是十分方便的。可最近却发现了一个很奇怪的问题。起初创建了具有10个消息容量的消息队列:          OS_Q   Q_GPRS_Msg;          OSQCreate((OS_Q*)&Q_GPRS_Msg,(CPU_CH

2016-11-14 17:00:48 1068

转载 ucosIII 任务同步(信号量、任务信号量、事件标记组)

任务同步简介按博主自己理解,任务同步其实就是ucos指定了一种标志,用于中断(ISR)或任务间同步。例如ISR中断产生后,再ISR中只发送信号量或消息给任务,当ISR执行完毕后发送信号量,系统产生调度,在任务里面执行中断需要的服务,这样可以减少中断时间。ucos有2种基本同步机制:信号量和事件标志。单向同步://任务同步OS_SEM SYNC_SEM; //定义

2016-11-14 15:00:39 2735

转载 UCOSIII事件标志组

我们可以使用信号量来完成任务同步,这里我们再讲解一下另外一种任务同步的方法,就是事件标志组,事件标志组用来解决一个恩物和多个事件之间的同步事件标志组有时候一个任务可能需要和多个事件同步,这个时候就需要使用事件标志组。事件标志组与任务之间有两种同步机制:“或”同步和“与”同步,当任何一个事情发生,任务都被同步的同步机制是“或”同步;需要所有的事件都发生任务才会被同步的同步机制是“与”同步,这两种

2016-11-14 13:44:23 1217

转载 深入uCOS中全局变量的使用详解

在C语言编程中经常会遇到全局变量。全局变量的定义一般采用下面的方式.C文件中定义unsigned int gVariable;.h文件中声明extern unsigned int gVariable;这样做的目的是防止变量重复声明,提高编译效率。但是如果这样的定于如果安排不好就会出现各种各样的问题。在编译时重复的声明,甚至出现错误。阅读邵贝贝翻译的《

2016-11-14 11:12:46 3986

转载 ucos II 任务间 通信之一:全局变量

ucos II 任务间通信之一 :全局变量 任务创建好了之后,只是完成了系统编程的一小步,更为重要的是任务间的通信。比如在mcu21的项目里,有通信任务,有液晶显示任务,有控制任务。控制任务需要用到通信任务接受到的数据,液晶显示任务也显示控制任务的数据。这就需要用到任务间的通信了。 Mcu21总结了一下,在ucos II 里任务间通信可以采用以下几种方式。1.   

2016-11-10 15:42:14 2041

转载 ucos-ii学习笔记——消息队列的原理及使用

转自:http://blog.sina.com.cn/s/blog_6cd2030b010192r9.htmlucos-ii学习笔记——消息队列的原理及使用 Created on: 2012-10-7      Author: zhang bin 学习笔记for ucos-ii  PCredesigned by zhang bin

2016-11-10 15:21:29 4969

转载 UCOS开发手册中关于OSQPend()函数讲

转自:http://www.openedv.com/thread-44168-1-1.htmlUCOS开发手册中 第十章  UCOSIII消息传递 章节中关于等待消息队列的函数OSQPend()讲解有误,OSQPend()函数各个参数含义如下[C] 纯文本查看 复制代码?123456void *OSQPend

2016-11-10 14:14:30 7403

转载 UCOS-III 消息队列正确使用方法

UCOS-III 消息队列正确使用方法2016-1-8          在基于gprs消息传输过程中,使用ucos-iii自带的消息队列最为缓存是十分方便的。可最近却发现了一个很奇怪的问题。起初创建了具有10个消息容量的消息队列:          OS_Q   Q_GPRS_Msg;          OSQCreate((OS_Q*)&Q_GPRS_Msg,(CPU_CH

2016-11-10 13:51:24 1928 1

转载 结构体中指针赋值问题的分析及C代码示例

问题描述 某结构体的定义如下:typedef struct{ int iAge; // 年龄 char szAddr1[100]; // 地址1 char *pszAddr2; // 地址2 char **pszAddr3; // 地址3} T_P

2016-11-08 17:21:36 438

转载 C语言结构体的字节对齐原则

为什么要对齐?    现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特 定的内存地址访问,这就需要各种类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。    对齐的作用和原因:各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据只能从某些

2016-11-08 13:55:12 885

转载 C语言中static加在函数声明前

私有函数只有该类的成员变量或成员函数可以访问。在C语言中,也有“private函数”,它就是接下来要说的static函数,完成面向对象编程中private函数的功能。 当你的程序中有很多个源文件的时候,你肯定会让某个源文件只提供一些外界需要的接口,其他的函数可能是为了实现这些接口而编写,这些其他的函数你可能并不希望被外界(非本源文件)所看到,这时候就可以用static修饰这些“其他的函

2016-11-05 14:42:54 2662

转载 RJ45接口定义及网线线序

RJ45接口定义常见的RJ45接口有两类:用于以太网网卡、路由器以太网接口等的DTE类型,还有用于交换机等的DCE类型。DTE我们可以称做“数据终端设备”,DCE我们可以称做“数据通信设备”。从某种意义来说,DTE设备称为“主动通信设备”,DCE设备称为“被动通信设备”。当两个类型一样的设备使用RJ45接口连接通信时,必须使用交叉线连接。这个可以从如下的RJ45 DTE类型引脚定义和RJ4

2016-11-03 11:56:14 2011

转载 图解STM32 JLink 采取JTAG 模式和 SWD模式下载时引脚说明

图解STM32 JLink 采用JTAG 模式和 SWD模式下载时引脚说明        因为项目开发需要,采用SWD模式下载STM32,以前都是用JLINKv8 的JTAG模式,而且从未认真识别过JLINKv8各引脚。只知道SWD模式下和JTAG模式下共用两个引脚而已。只有明确了v8的各引脚定义才可以自己用杜邦线取其中的几个引脚作SWD模式的下载!!!实际测试,当JATG正面

2016-11-02 14:24:52 6392

UDS ISO 14229 最全协议-全部协议 国际标准2013版

良心贡献 良心贡献 质量保证 只需2个积分,希望好评! ISO 14229 最全协议-全部协议 国际标准2013版UDS ISO 14229 最全协议-全部协议 国际标准2013版UDS ISO 14229 最全协议-全部协议 国际标准2013版UDS ISO 14229 最全协议-全部协议 国际标准2013版UDS ISO 14229 最全协议-全部协议 国际标准2013版UDS ISO 14229 最全协议-全部协议 国际标准2013版UDS ISO 14229 最全协议-全部协议 国际标准2013版UDS ISO 14229 最全协议-全部协议 国际标准2013版UDS ISO 14229 最全协议-全部协议 国际标准2013版UDS ISO 14229 最全协议-全部协议 国际标准2013版UDS ISO 14229 最全协议-全部协议 国际标准2013版UDS ISO 14229 最全协议-全部协议 国际标准2013版UDS ISO 14229 最全协议-全部协议 国际标准2013版UDS I

2022-07-23

XCP协议层标准ASAM_XCP_Part2-Protocol-Layer-Specification_V1-1-0

ASAM_XCP_Part2-Protocol-Layer-Specification_V1-1-0.pdf

2018-04-03

基于stm32的GPRS网络与CAN网络通信设计

硬件部分主要由两台PC机、stm32f103VET6微处理器及其外围器件、GPRS模块等组成,并且由网络调试助手、串口调试助手、新花生壳等软件工具协助。软件部分主要利用MDK4.72进行程序设计。主要实现CAN网络与GPRS网络信息数据的相互传输,并充分利用单片机的数据处理能力,实时监控两个网络的通信状态并在其驱动的彩色液晶屏上进行显示。考虑到数据传输的效率、可靠性、实时性以及微处理器的资源利用率,使用了stm32f103VET6微处理器的串口DMA接收和DMA发送功能,这对来自于GPRS网络和CAN网络的大数据大有裨益。另外,由于经济因素,本文设计使用了一台PC机和一个CAN转换器模拟CAN网络里的一台主机,使用另一台PC机模拟GPRS网络里的服务器。

2015-10-25

msp430、51单片机驱动24L01的C程序

msp430、51单片机驱动24L01的c程序

2014-12-25

信号与系统教学

该实验平台系长期从事一线教学老师及一批学习优良的学生合作开发,有助于学习信号与系统这么课程

2013-09-30

信号与系统虚拟实验平台

信号与系统虚拟实验平台,专注于在实验中学习信号与系统

2013-09-26

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

TA关注的人

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