- 博客(14)
- 资源 (18)
- 问答 (1)
- 收藏
- 关注
转载 cc2541简介
1 CC2540简介CC2540是单模BLE芯片,是蓝牙RF和8051的组合,自带FLASH和8kB RAM。适合数据少频率低的通讯,如蓝牙键盘、传感器测量、遥控器、防丢器等应用。2 开发需求l 开发板(CC2540主板)(硬件) l CC Debugger(硬件),CC系列芯片的下载器,可用于同步调试和下载固件 l smartrf_studio(软件),安
2017-09-29 17:58:55 12516
转载 信号量(1)
linux中两种基本的同步方法是信号量和互斥量。这两种方法很相似,而且它们可以相互通过对方来实现。信号量概述下面介绍用信号量进行同步。信号量概念由荷兰科学家Dijkstra首先提出。信号量是一个特殊类型的变量,它可以被增加或者减少。但对其的关键访问被保证是原子操作,即使在一个多线程程序中也是如此。信号量有两种类型:
2017-09-29 11:31:08 790
原创 互斥锁及条件变量
1.互斥锁的概念:互斥锁指代相互排斥,他是最基本的同步形式。互斥锁用于保护临界区,以保证任何时刻只有一个线程在执行其中的代码,或者任何时刻只有一个进程在执行其中的代码。保护一个临界区的通常轮廓大体如下:lock_the_mutex(...);临界区unlock_the_mutex(...);注:如果互斥锁变量是静态分配的,那么我们可以把它初始化成常值PTHREAD_MUTE
2017-09-28 13:48:41 204
原创 指针类型强制转换及地址打印
#include #include #include int main(int argc,char**argv){ int num=2; int* ptr=(int*)# printf("%p\n",ptr); printf("%d\n",ptr); printf("%d\n"
2017-09-28 11:24:59 1612
转载 pthread_setconcurrency简介
最近在code review一些人的代码的时候,发现了一个问题,就是很少人关注pthread_setconcurrency()函数,其实这个函数在pthread中是一个很重要的函数。在linux下,如果你忽略了这个函数的使用,那么能够并发的线程数目由实现者来控制,对于系统调度的效率而言往往不是什么好的事情,因为默认的设置往往不是最佳的。 更为糟糕的是,如果在某些系统中,如果你不调用pt
2017-09-28 10:17:49 2216
转载 进程间通信之select
阻塞方式block,就是进程或是线程执行到这些函数时必须等待某个事件的发生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返回。使用Select就可以完成非阻塞non-block,就是进程或线程执行此函数时不必非要等待事件的发生,一旦执行肯定返回,以返回值的不同来反映函数的执行情况,如果事件发生则与阻塞方式相同,若事件没有发生则返回一个代码来告知事件未发生,而进程或线程继续执行,所以效率较高。
2017-09-27 13:35:02 739
转载 makefile 编程一
什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写makefile了,会不会写makefile,从一
2017-09-27 13:27:55 161
转载 消息队列五
1 消息队列基本概念 消息队列是系统内核地址空间中的一个内部的链表。消息可以按照顺序发送到队列中,也可以以几种不同的方式从队列中读取。每一个消息队列用一个唯一的IPC标识符表示。 了解在系统内核中的数据结构是了解IPC机制如何工作的最好的方法。 首先我们看一下数据结构msgbuf。此数据结构可以说是消息数据的模板。虽然此数据结构需要用户自己定义,但了解系统中有这样一个数
2017-09-27 11:30:28 195
转载 c浮点数运算
本节PDF文档请在http://dl.vmall.com/c0cl3cotca下载 有些C语言书上说float型的有效位数是6~7位,为什么不是6位或者7位?而是一个变化的6~7位?浮点数在内存中是如何存放的?float浮点数要比同为4字节的int定点数表示的范围大的多,那么是否可以使用浮点数替代定点数?为什么float型浮点数9.87654321 > 9
2017-09-25 22:24:47 1818
原创 获取系统时间函数
#include #include #include #include int main(int argc,char**argv){ time_t T; T=time(NULL); printf("%s",ctime(&T)); return 0;}输出结果:Mon Sep 25 13:
2017-09-25 13:39:38 568
转载 netstat 命令
使用小小的一个netstat命令,就能让你检测出系统是否处于安全状态!!!这篇文档,复杂°:简单;难易°:易。坚决让小白都看得懂,学得会,掌握牢,上手快!好,废话不多说,看招:大家都知道,Linux上的web服务每天都要面临成千上万的连接,这些连接都是要遵循TCP协议的,这都是众所周知的(至于TCP协议,这里就不在过多的介绍,不懂的同学可以自己搜索,友好多)。既然都是TCP协议连接
2017-09-25 11:21:20 530
转载 top指令下的内存概念
VIRT:1、进程“需要的”虚拟内存大小,包括进程使用的库、代码、数据,以及malloc、new分配的堆空间和分配的栈空间等;2、假如进程新申请10MB的内存,但实际只使用了1MB,那么它会增长10MB,而不是实际的1MB使用量。3、VIRT = SWAP + RESRES:1、进程当前使用的内存大小,包括使用中的malloc、new分配的堆空间和分配的栈空间,但不包括swap
2017-09-21 13:42:09 882
转载 获取客户端时间程序
bzero : 初始化数据为0例:#include#includevoid main(){char arr[10]="wwwww";printf("1:%s\n",arr);bzero(arr,sizeof(arr));printf("2:%s\n",arr);}输出结果:1:wwwww2: socket函
2017-09-19 13:46:25 804
原创 opencv接口函数
CvRect(含4个数据成员,x、y、width、height)是OpenCV里面的基本数据类型,其功能是包通过定义矩形左上角坐标和矩形的宽和高来确定一个矩形。OpenCV里面的基本数据类型结构体功能: 通过矩形左上角坐标和矩形的宽和高来确定一个矩形区域typedef struct CvRect { int x; /* 方形的左上角的x-
2017-09-07 13:16:27 1617
heatshrink.zip
2020-03-18
C118213_STM32L431RBT6_2017-11-22.PDF
2019-08-01
qt creator快速入门
2017-11-07
OpenCL编程指南
2017-06-15
想做个关于c语言的小项目
2015-07-27
TA创建的收藏夹 TA关注的收藏夹
TA关注的人