- 博客(69)
- 收藏
- 关注
转载 ARP数据包
结构ether_header定义了以太网帧首部;结构arphdr定义了其后的5个字段,其信息用于在任何类型的介质上传送ARP请求和回答;ether_arp结构除了包含arphdr结构外,还包含源主机和目的主机的地址。定义常量#define EPT_IP 0x0800 /* type: IP */#define EPT_ARP0x0806 /* ty...
2018-03-05 21:31:00
575
转载 透明传输 非透明传输
透明数据传输是指:上位机与模块进行信息交换的数据格式,没有像指令字头、结束符等数据包信息,只要上位机串口有数据输出,模块就把串口的数据以无线方式编码发送,当接收模块接收到发射模块发送的无线数据信号后进行解码,把解码后的数据按发送端的格式从串口输出。也就是说模块对使用者是开放的,透明的,实际上,在点对多点的组网通信中,我们完全可以将无线数据透明传输方式等同于有线连接的总线方式。不同点是无线...
2016-12-13 10:08:00
1479
转载 TCP\UDP链接的异同
简单的说TCP与UDP的区别是有无连接状态。TCP是有连接状态的,而UDP没有,所以TCP是一种比较安全的通讯协议,而UDP则比较方便TCP 127.0.0.1:1026 0.0.0.0:0 LISTENINGTCP 是传输协议 TCP是主动连接 网页什么的用TCP(貌似)UDP也是传输协议 UDP迂回连接 QQ就用UDP (貌似)127.0.0.1 是本地回环地址1026...
2016-12-09 16:06:00
138
转载 环形 缓冲区《转自数码之家》
1.环形缓冲区,命令不容易丢失2.缓冲区大小可自定义3.移植改写方便看代码://宏定义//系统可修改参数宏定义#define BUFFER_SIEZ 64//控制命令定义#define COMMUNCIATE 0#define SET_SYSTEM_CAL_FULL 1#define SET_SYSTEM_CAL_MV_V 2#define SET_SYSTEM_OL 3#define ...
2016-11-25 14:18:00
125
转载 arm的一些概念(ARM7、Cortex-M的区别)
ARM7:ARMv4架构,ARM9:ARMv5架构,ARM11:ARMv6架构,ARM-Cortex 系列:ARMv7架构。 ARM7没有MMU(内存管理单元),只能叫做MCU(微控制器),不能运行诸如Linux、WinCE等这些现代的多用户多进程操作系统,因为运行这些系统需要MMU,才能给每个用户进程分配进程自己独立的地址空间。ucOS、ucLinux这些精简实时的RTOS不需要...
2016-07-27 11:20:00
102
转载 ARM内核和架构都是什么意思,它们到底是什么关系?
ARM产品越来越丰富,命名也越来越多。很多朋友提问:ARM内核和架构都是什么意思?内核和架构的关系是什么?比如ARMv7架构,这个架构指的是什么?小编选出了几个精彩回答!希望对嵌友们在选择设计电路时有所帮助~1.ARM内核:从ARM7、ARM9到Cortex-A7、A8、A9、A12、A15再到Cortex-A53、A57等,总之不同版本 ARM 有不同的想法。比如为高速度设计...
2016-07-27 10:51:00
99
转载 C语言的算法--------二分法查找
int find(int n,int a[],int l){int low=0;int high=l-1;int middle=0;while(low<high){middle=(low+high)>>1;if(n==a[middle]){printf("%d,%d",n,middle);return 1;}else if(n>a[middle])low...
2016-06-13 09:50:00
152
转载 栈的讲解 和 栈的生长方向 源代码技巧分析,简直没SEI 啦
函数的局部变量,都是存放在"栈"里面,栈的英文是:STACK.STACK的大小,我们可以在stm32的启动文件里面设置,以战舰stm32开发板为例,在startup_stm32f10x_hd.s里面,开头就有:Stack_Size EQU 0x00000800表示栈大小是0X800,也就是2048字节.这样,CPU处理任务的时候,函数局部变量做多可占用的大小就是:204...
2016-05-23 10:29:00
103
转载 C语言到底怎么分配空间
程序分为:代码区、数据区、bss区、堆区、栈区。平时常用区分的是代码区、堆区、栈区。下面加上例子区分一下。3代码区顾名思义就是存放代码的,里面的内容是不可以修改的。例如你定义了一个变量char *buff = "abcdef";这个char型指针指向了代码区,这个指针里面的数据只可以被读取不可以别修改,因为指针指向了代码区,如果你继续往这个...
2016-05-21 15:04:00
205
转载 C语言结构体占用空间内存大小解析
结构体的数据类型的有点我们就不啰嗦了,直接来看相同数据结构体的几种书写的格式吧。格式一:[cpp]view plaincopy01.structtagPhone02.{03.charA;04.intB;05.shortC;...
2016-05-21 13:59:00
322
转载 c程序代码的内存布局(学好C的基础)
一个程序本质上都是由 BSS 段、data段、text段三个组成的。这样的概念在当前的计算机程序设计中是很重要的一个基本概念,而且在嵌入式系统的设计中也非常重要,牵涉到嵌入式系统运行时的内存大小分配,存储单元占用空间大小的问题。BSS段:在采用段式内存管理的架构中,BSS段(bss segment)通常是指用来存放程序中未初始化的全局变量的一块内存区域。BSS是英文Block S...
2016-05-21 13:27:00
138
转载 UCOS 信号量的初值问题
当 pend请求发出的时候信号量的值减1,当post的时候信号量的值加1,信号量的值0跟1分别是用来同步跟互斥的,什么是同步,什么是互斥呢。。。假设你把信号量的值设为0,有A,B连个任务,当A发出pend请求的时候它发现此事的信号量值为0就把它减1然后挂起等待,等待到什么时候呢?等待任务B执行post操作把信号量的值加1然后唤醒进程A,然后两个进程同步并发执行。。。通俗点解释就是任务A执...
2016-05-20 15:22:00
474
转载 UCOS 请求任务删除函数 及其应用
有时候,如果任务A拥有内存缓冲区或信号量之类的资源,而任务B想删除该任务,这些资源就可能由于没被释放而丢失。在这种情况下,用户可以想法子让拥有这些资源的任务在使用完资源后,先释放资源,再删除自己。用户可以通过OSTaskDelReq()函数来完成该功能。函数名OSTaskDelReq参数Prio要删除任务的优先级(0x...
2016-05-20 09:57:00
339
转载 RTC 之 ARM7 2136 ARM9之2410
RTC 的原理都是一样的,但计数过程中的计数换算却不相同:ARM9 直接出来的是BCD 码,也就是0x30 就是30秒,没有换算了,而ARM7则不同,他是直接计数的,十进制的30秒则是0x1E,,,,转载于:https://www.cnblogs.com/locean/p/5505965.html...
2016-05-18 17:30:00
89
转载 C语言编程的进制问题问题
在我们的编译器,我用的是ADS 开发平台,现在RTC模块编程时,2410作为上位机,如下代码:n = rBCDDATE;if(n==1) time->day =0x31 ;波斯历的日期与我们的不同,他们是123456月31天,789 10 11 月30天,12月29或28天天,因此与我们的RTC模块不兼容 只能改变算法,如上代码就是改变的一部分,当4.30号是 ,我...
2016-05-11 17:33:00
102
转载 启动任务StartTask() 发送完消息队列 自己删除,接收方一直显示数据 用OSQFlush(Str_Q); //清空消息队列 下面纠结接收不到了 哈哈...
在建立工程的时候,启动任务StartTask() 启动了任务MyTask(),也建立了消息队列,然后发送消息队列,发送完自己删除了自己,在接收方一直能接受到数据???为何???因为我们的消息队列未清空,消息队列里面一直有数据呢,当然在执行MyTask 的任务的时候,MyTask 里面有这句等待消息队列的语句ss=OSQPend(Str_Q,0,&err); ...
2016-05-07 16:21:00
285
转载 消息队列的一些奇葩问题
1、新建立的消息队列,两个任务通信过程中,一个发送消息队列,另一个任务等待消息队列的 时候,这个过程一定要配套出现,就是按套路出牌。怎么说????: 假如没有按套路,第一种情况:任务一 OSQPostFront(Str_Q,s100); 发送了,消息队列,勉强程序能跑起来,但这不是 正规出牌套路,你发送了消息,没人搭理你,,,发这个有什么用,失去意义了。 ...
2016-05-05 16:52:00
99
转载 UCOS 杂项 笔记
1. 建立任务和建立数据队列 哪个先建立? 经过试验得知,数据队列和任务的建立先后没有顺序,都可以正常运行.2.关于主函数的面试问题。主函数写法有: int main() 和void main()int main() 表示该函数必须有返回值,即程序实现中一定要有return xx;字样void main() 表示函数不需要返回值,一定不能有...
2016-05-03 17:24:00
107
转载 UCOS 堆栈大小 计算 (堆栈的决定性因素)
决定栈空间的大小,不仅需要计算任务本身的需求(局部变量、函数调用等),还要计算最多中断嵌套层数(保存寄存器、中断服务程序中局部变量等)原文地址:uCOS任务堆栈的深入分析.作者:jiecou堆栈作用的就是用来保存局部变量,从实质上讲也就是将CPU寄存器的值保存到RAM中。在uCOS中,每一个任务都有一个独立的任务堆栈。为了深入理解任务堆栈的作用,不妨分析任务...
2016-04-27 13:27:00
925
转载 OSTaskCreateExt() 建立任务
OSTaskCreateExt()建立任务NT8U OSTaskCreateExt (void(*task)(void *pd),void*pdata,OS_STK *ptos,...
2016-04-26 16:58:00
287
转载 统计任务的真正运行原理《转载》
在百度里看到张连聘文章,对ucos的两个系统任务分析的很恰当,就是最后边一段观点我不太认同,在此非常感谢张连聘。先把ucosii中的原文写在这,然后再说一下我的具体理解(下面有我的理解部分)。我觉得这篇文章对ucos的两个系统任务分析的很恰当,就是最后边一段观点我不太认同,在此非常感谢张连聘。先把ucosii中的原文写在这,然后再说一下我的具体理解。μC/OS-Ⅱ有...
2016-04-23 16:51:00
150
转载 UCOS 内存管理理解 创建任务
OS_MEM *OSMemCreate (void*addr, INT32U nblks, INT32U blksize, INT8U *err) {..............................................plink = (void**)addr;/* Create linked list of free memory bl...
2016-04-22 17:00:00
92
转载 二维指针*(void **)的研究(uC/OS-II案例) 《转载》
uC/OS-II内存管理函数内最难理解的部分就是二维指针,本文以图文并茂的方式对二维指针进行了详细分析与讲解。看完本文,相信对C里面指针的概念又会有进一步的认识。一、OSMemCreate( ) 函数中有如下语句:OS_MEM *pmem;INT8U *pblk;void **plink;INT32U i;...
2016-04-22 16:49:00
175
转载 ucos 创建 空闲任务的目的
几乎任何操作系统都需要有空闲任务。因为CPU(提供CPU级休眠的不算)没办法停下来,尤其是嵌入式系统这一块。CPU停下来的唯一情况就是断电了,而要保持操作系统任何时候都能及时的对外做出响应,就必须有一个任务在那等着,这个任务就是Idle,大部分操作系统上都需要有这个任务。普通的CPU如果停下来,就收不到任何外部中断或者别的东西了,跟死机没区别,所以CPU不能停。当然了,也有能进入省电模式...
2016-04-15 10:33:00
442
转载 UCOS 信号量
uCOS-II信号量OSSemCreate(0)和OSSemCreate(1)详解(2014-04-22 18:04:18)转载▼标签:it分类:操作系统在ucos-II中,为了实现任务之间的同步,用到的同步机制有:信号量,邮箱和消息队列。其中这里我主要说下对信号量的使用经验。信号量在创建时,调用O...
2016-03-24 11:25:00
142
转载 ocos 信号量
信号量分为 :声明信号量、互斥信号量转: ucos-ii学习笔记——信号量的原理ucos-ii学习笔记——信号量的原理及使用#include"INCLUDES.h"#defineTASK_STK_SIZE512char*s1="MyTask";char...
2016-03-24 11:22:00
262
转载 C 语言 输入字符串 并计算输入的字符的长度
int main(void){ char a[50];int i=0;char *j;gets(a);//输入字符串j=a;while(*j!='\0'){j++;//指针指向下一个数组字符i++;}printf("字符串为%s,字符串的长度为%d\n\n\n",a,i); return 0;}转载于:https://www.cnblogs.com/locean/p/52...
2016-03-15 16:36:00
3241
转载 C 语言简历一个文件夹 并自己输入字符 来取文件夹名字
int main(void){ FILE *fp; char ch,filename[10]; scanf("%s",filename); if((fp=fopen(filename,"w"))==NULL) { printf("cannot open file\n"); exit(0); } ch=getchar(); ch=getchar(); while(ch!...
2016-03-15 14:22:00
112
转载 C语言 创建一个 txt 文件 bin输入字符 保存文件在工作文件夹里
int main(void){ char s[70]; FILE *fp; fp=fopen("123.txt","r"); if((fp=fopen("123.txt","w"))==NULL) //if 语句就是创建了一个空的.txt文件 { printf("Open the file failure...\n"); ...
2016-03-15 14:01:00
536
转载 C语言 之 printf () 函数你真的会用吗?
main(){inti=8;printf("%d%d%d%d%d%d",++i,--i,i++,i--,-i++,-i--);}运行结果8778-7-8例2main(){inti=8;printf("%d",++i);printf("%d",--i);printf("%d",i+...
2016-03-15 09:43:00
123
转载 C 语言字符 和字符串输出
int main(void){ char ch; char str[80]; printf("Input a string: "); //先输入字符串 gets(str);//get() put() 这两个函数并列使用,前者就是从案件获取按键值, 后者是显示输出 puts(str);printf("Input a character: "); scanf...
2016-03-15 09:42:00
64
转载 C 小写字母编程大写并输出
main(){ FILE *fp; char str[100],filename[10]; int i=0;if((fp=fopen("test","w"))==NULL) //{printf("cnnot open file\n");exit(0);}printf("lease input a string:\n");gets(str);while(str[i]!='!'...
2016-03-14 16:33:00
230
转载 C语言计算机器运行时间
//计算机器运行时间long i = 10000000L;clock_t start, finish;double duration;//测量一个事件持续的时间printf( "Time to do %ld empty loops is ", i) ;start = clock();while( i-- );finish = clock();duration = (...
2016-03-12 11:54:00
141
转载 C 猜数游戏
char c; clock_t start,end; time_t a,b; double var; int i,guess; srand(time(NULL));loop: printf("DO YOU WANT TO PLAY IT .('y' or 'n')\n"); while((c=getchar())=='y') { i=rand()%10...
2016-03-12 11:53:00
66
转载 C 产生随机码 (输入数字来产生)
#include <stdio.h>#include <stdlib.h>main(){unsigned int seed; /*申明初始化器的种子,注意是unsigned int 型的*/int k;printf("Enter a positive integer seed value: \n");scanf("%u",&...
2016-03-11 16:18:00
83
转载 C 产生随机码
#include<stdio.h>#include<malloc.h>#include<conio.h>#include<stdlib.h>#include "math.h"#include"time.h"#define NULL 0main(){float a;srand(123456); ...
2016-03-11 16:13:00
71
转载 C 语言链表操作例程 (待完善)
#include<stdio.h>#include<malloc.h>#include<conio.h>#include<stdlib.h>#include "math.h"#define NULL 0#define LEN sizeof(struct cle) struct cle { int num; struct cle *nex...
2016-03-11 10:36:00
105
转载 C 带指针样式的时钟
#include <stdio.h> #include <malloc.h>#include<graphics.h>#include<conio.h> #define LEN sizeof(struct student)#include "math.h"#define PI 3.1415926 void Draw(int hou...
2016-02-27 16:29:00
196
转载 C语言(按键获取与函数)
举一个简单的例子,如果有按键,就输出相关按键。否则,输出“.”。每隔 100 毫秒输出一次。按 ESC 退出。注:ESC 的 ASCII 码是 27。#include <stdio.h> #include <malloc.h>#include<graphics.h>#include<conio.h> #define LEN si...
2016-02-27 14:28:00
2183
转载 C语言的画图(圆形动画)
#include <stdio.h> #include <malloc.h>#include<graphics.h> #define LEN sizeof(struct student)#include "math.h"#define PI 3.1415926void main() {initgraph(680,680);while(1...
2016-02-27 14:19:00
422
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人