
基础
dorawuxiaonan
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Linux计时器——setitimer
最近写的很多东西都需要定周期的做一些处理,我用到了setitimer这个Linux的系统函数,使用这个函数真真的是让我又爱又恨。在说这个定时器之前呢,先要说说与它相关的Linux的系统信号,和信号相关的函数。signal()函数可以将Linux的信号与一个函数相关联,比如我们要用的定时器:signal(SIGALRM, on_function);这样的话,当定时器计时时间到了之后,就会产生原创 2013-11-08 09:37:53 · 1139 阅读 · 0 评论 -
USB设备的VID和PID
USB:通用串行总线VID:Vendor ID供应商识别码PID:Product ID产品识别码每一个USB设备都有VID和PID;其中,VID是由供应商向USB-IF(Implementers Forum 应用者论坛)申请。每一个供应商的VID是唯一,PID是由供应商自行决定;主机通过VID和PID来识别不同的设备,根据他们(以及设备的版本号),可以给设备加载或安装相应的驱动...原创 2018-11-06 14:29:42 · 2408 阅读 · 0 评论 -
Linux TCP UDP
通过百度可以知道:TCP (Transmission Control Protocol)和UDP(User Datagram Protocol)协议。TCP提供IP环境下的数据可靠传输,它提供的服务包括数据流传送、可靠性、有效流控、全双工操作和多路复用。通过面向连接、端到端和可靠的数据包发送。通俗说,它是事先为所发送的数据开辟出连接好的通道,然后再进行数据发送。UDP则不为IP提供可靠...原创 2018-09-12 14:52:04 · 307 阅读 · 0 评论 -
GPS杂事
GPS的性能指标之一TTFF:Timer to first fixTime to First Fix (TTFF) describes the time and process required for a GPS device to acquire enough usable satellite signals and data to provide accurate navigation....原创 2018-08-14 15:28:34 · 529 阅读 · 0 评论 -
常用基础知识(const)
关键问题点:const 属于修饰符 ,关键是看const 修饰的位置在那里1、const int *a这里const 修饰的是int,而int定义的是一个整值因此*a 所指向的对象 值 不能通过 *a 来修改,但是 可以重新给 a 来赋值,使其指向不同的对象eg: const int *a = 0; const int b = 1; int c =...转载 2018-07-18 10:05:13 · 324 阅读 · 0 评论 -
常用基本知识(static)
1、static 变量:静态局部变量属于静态存储方式,生存期为整个源程序,但是其作用域仍与自动变量相同,只能在定义该变量的函数内使用该变量。退出该函数后, 尽管该变量还继续存在,但不能使用它。对基本类型的静态局部变量若在说明时未赋以初值,则系统自动赋予0值。而对自动变量不赋初值,则其值是不定的。 根据静态局部变量的特点, 可以 看出它是一种生存期为整个源程序的量。虽然离开定义它的函数后不能使...原创 2018-07-17 17:21:34 · 257 阅读 · 0 评论 -
3GPP协议
3GPP的目标是实现由2G网络到3G网络的平滑过渡,保证未来技术的后向兼容性,支持轻松建网及系统间的漫游和兼容性。 其职能: 3GPP主要是制订以GSM核心网为基础,UTRA(FDD为W-CDMA技术,TDD为TD-CDMA技术)为无线接口的第三代技术规范。(百度百科的,哈哈哈哈哈) 一般来讲,使用高通的芯片,通过AT+COPS来获取网络制式,可能值如下:0 - GSM -----...原创 2018-07-23 10:40:57 · 4022 阅读 · 0 评论 -
嵌入式开发中sqlite3数据库的简单操作
sqlite3是一种简单好用的数据库,小巧灵活,本质上就是个文件,在嵌入式开发中经常使用。总结一下一些简单的接口:首先,先制定一下数据库的格式,最简单的:Key - type - value(键值,数据类型,数据)为例:const Type_sByte* openfmt = "CREATE TABLE cfg_tbl ( key TEXT PRIMARY KEY, type NUMER原创 2017-10-30 11:06:53 · 848 阅读 · 0 评论 -
NAND FLASH与MTD
芯片内部存储布局及存储操作特点: 一片Nand flash为一个设备(device), 其数据存储分层为: 1 (Device) = 4096 (Blocks) 1 (Block) - = 32 (Pages/Rows) 页与行是相同的意思,叫法不一样 1 (Page) = 528 (Bytes) = 数据块大小(512Bytes) + OOB转载 2013-11-11 16:15:56 · 1190 阅读 · 1 评论 -
关于互斥锁与信号量
在对于某个共用资源的访问的问题上,经常使用互斥锁和信号量来做互斥、同步的工作。所谓互斥锁,顾名思义,其功能体现在互斥上,而它实现互斥的过程就像“锁”一样,在某一个访问者在使用该共用资源时,这个使用者对这个资源上了锁,那么别的访问者就无法使用这个共用资源。而信号量,则侧重在同步,对于要使用同一共用资源的访问者来说,信号量给每个人发了一个号码牌,每个访问者根据先来后到的顺序等待,当前使用资源的访问者结原创 2013-11-07 17:24:35 · 1089 阅读 · 0 评论 -
linux——编码时常见的错误:程序中有游离的。。。
有时候在做linux相关的开发时,一编译就出现这样的错误:错误: 程序中有游离的‘\302’ ‘\240’等 .linux编译器gcc360终端在写程序时,编译器需要程序必须是英文输入,但大家经常切到中文或者直接复制网络上的源代码,所以就出现了这样的错误。这一般是“”,“”、,、;等符号使用错误,有时甚至是空格。知道出现错误的原因在哪就知道怎么解决啦,把不正确的符号改过来就好啦。原创 2013-11-08 15:35:52 · 1807 阅读 · 0 评论 -
Linux计时器——setitimer2
最近我写的一个程序是这样的:需要多种定时,比如前两次的定时时间是3s,需要两次定时,从第三次开始需要定时4s,这样的定时需要十次。我用setitimer实现,非常简便有效。Demo代码如下:demo.c:typedef enum{FIRST_TIMER, SECOND_TIMER,END_TIMER} timer_t;struct itimerval原创 2013-11-08 09:40:08 · 773 阅读 · 0 评论 -
openssl 常见操作
OpenSSL是做安全通信的时候最常用的开源库,虽然开源代码的可读性....emmmmmm。但是使用起来还是比较舒服的,因为是传输层的安全,所以不管是socket的还是HTTP还是FTP,在应用层不需要意识数据的加密解密,所以在应用层只需要做明文的协议就可以了,也不需要在应用层考虑太多加密算法,密钥保存,如何认证,失效后的复归处理等等。而且还可以保证数据的保密性和完整性,因为OpenSSL有加...原创 2019-07-06 14:05:08 · 634 阅读 · 0 评论