自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 资源 (1)
  • 收藏
  • 关注

原创 以卧槽的思维理解(RTOS)嵌入式实时系统(1)

卧槽,该系列文章竟然只分析软实时系统,硬的咱也不了解啊。实时系统总离不开这些出现频繁的词汇:资源,任务资源:为任务所占用的,都可称之为资源包括变量,或者数组,结构体,外设资源等任务:可以想成为一个可以运行的程序,当程序运行时,它认为整个cpu都在为自己服务,当然整个系统不只一个任务,可能多个任务组成。每个任务有自己的执行优先级,自己的堆栈空间(有的rtos公用堆栈空间)。所有的这些组成...

2019-07-03 14:25:42 617 1

转载 单片机多任务的时间片方式实现 .

引言    由于单片机具有价格低、运行要求低、易于开发、稳定可靠等优点,广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域。但是,单片机的位数少、频率低、内存小、I/O口少等缺点限制了其加载操作系统的可能。因此,单片机不能像ARM等较高性能的处理器一样,利用加载的操作系统实现管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等...

2016-09-12 22:03:18 2100

原创 BUG的烦恼

在我们这个行业的学习和工作中,bug是个逃不掉的话题。最近两天,在调试一个程序,程序本来是完整的,只是我需要把它移植到另一个平台上。框架是没有动的,连平台的架构都很像,属于一个系列的芯片,但问题来了:总也运行不到想要的结果,和预期总是相差。bug分好多种,必现的,和不稳定的,必现的还好点,根据现象,最多把逻辑再捋一遍,总能发现问题所在。我遇到的属于后者,每次的现象不一致,这个很...

2019-07-03 14:43:36 180

原创 什么是看门狗?

一样采用简单明了的例子来解释。条件:你家有条狗事件:让他看门,报警结果:1到点不给吃饭,会叫,2到点喂他吃东西,等待下次开饭影响:叫了,造成噪声,影响大家休息单片机的看门狗,故名思议,一个狗是要做为警醒某些异常事情的,当单片机采用看门狗功能时,是为了防止某些异常发生,例如某个功能运行异常,或者程序跑飞,卡死,在某处死循环,等等一系列amazing的情况,但是,只要你使用了看门狗...

2019-07-03 14:41:32 1527 1

原创 什么是中断?

中断嘛,对于很多新手来讲,有点难以理解,举个容易的现实的例子吧。如果还不懂,骚年,考虑换行吧,或许这不是你的方向呢,诗和远方在前面岔路左拐。比如小明和老丈人在喝酒,眼看老丈人就快招架不住了,正当此时,小明的女友小丽来了,非要小明陪她上街买口红,于是小明暂停和老丈人的对饮,先把酒桌封了,待买完口红后继续畅饮。傍晚时候,小明和小丽买好了口红,小明面露疲惫来到酒桌前,继续和老丈人对酌。...

2019-07-03 14:40:35 4115 3

原创 指针函数和函数指针的区别

1、指针函数:带指针的函数,其本质是一个函数,函数返回是某一类型的指针。例如:int *f(x,y);其结构为 类型标识符 *函数名(参数)首先你要从心里承认这是一个函数,只是返回的是个地址值。由于返回值是地址,所以一般类型都为int。2、函数指针:是指向函数的指针变量,其本质是一个指针变量。指向函数的入口地址,可以通过它来调用函数。例如 :void (*pt...

2019-07-03 14:36:38 14334 3

原创 循环缓存区的实现原理

经常会设置一个数组之类的用来存储临时接受的数据,由于数据是临时的,具有不确定性,随机性,如果没及时读取,会造成数据丢失,对工程的运行不利。我们如何建立一个循环的buf,当有新数据,存储在最新的位置,以便访问。首先我们假设开辟一个10*32大小的数组a[10][32],假设我们的数据没次是32个byte,那我们可以存10组数据,当然越大越好,但一般小型处理器没有那么多可操作空间。我们再定...

2019-07-03 14:34:53 1477

原创 判断你的单片机内存增长方式-大小端

在main函数里这样几句int i=0x12345678;char*b = &i;if((b[0]==0x78)&&(b[1]==0x56)&&(b[2]=0x34)&&(b[3]==0x12))printf(“small ”);else printf(“big”);//为真则是小端模式。...

2019-07-03 14:33:34 367

原创 C状态机

2018-03-30 09:54:41 314

原创 链表的实现

#include <stdio.h>#include <stdlib.h>typedef int ElemType;//定义结点类型typedef struct Node {    ElemType data;              //单链表中的数据域    struct Node *next;          //单链表的指针域}Node,*LinkedList;...

2018-03-29 17:27:21 159

转载 freertos和ucos的区别

 一、freeRTOS比uCOS II优胜的地方:  1。内核ROM和耗费RAM都比uCOS 小,特别是RAM。 这在单片机里面是稀缺资源,uCOS至少要5K以上, 而freeOS用2~3K也可以跑的很好。  2。freeRTOS 可以用协程(Co-routine),减少RAM消耗(共用STACK)。uCOS只能用任务(TASK,每个任务有一个独立的STACK)。  3。freeRTOS 可以有优...

2018-03-29 17:23:11 14454 2

原创 将一个字节数据进行高低位镜像对调的实现函数

unsigned char swap (unsigned char pData){ unsigned char value=0,tmp=0; unsigned char ii,jj; for (ii=0x80,jj=0;ii!=0;ii=ii>>1,jj++) { if (pData & ii) tmp=1; else tmp =0; value |= tmp } return valu

2018-01-19 17:53:06 3573

转载 关于ucosii的邮箱

 ucos II 任务间 通信之四:邮箱   学过信号量之后再来看邮箱,发现他们是非常相似的,甚至有时候邮箱可以当做信号量来使用,邮箱相对信号量而言,只是多传递了一个指针变量。和信号量很相似,ucos II提供了5个对邮箱进行操作的函数。它们是:1. 建立一个邮箱,OSMboxCreate()2. 等待一个邮箱中的消息,OSMboxPend()3. 发送一个消息到邮箱中,OSMboxPost()4...

2016-10-21 17:08:07 841

翻译 DXP软件使用快捷键

DXP绘图快捷键整理

2016-10-19 11:39:51 4381

LPC1768中文数据手册

LPC1768中文数据手册

2016-08-16

空空如也

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

TA关注的人

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