- 博客(7)
- 资源 (3)
- 收藏
- 关注
原创 协议解析小窍门- readchar
我们经常遇到这样的解析代码:unsigned char *pbuf = (unsigned char *)pbuf_in;item1 = *pbuf;pbuf++;item2 = *pbuf;pbuf++;这里需要频繁地敲pbuf++,代码写起来,生怕忘了一个++,导致解析错误一种好的解决办法,把解析某种类型数据直接做成readchar , readin
2017-02-22 10:25:53 853
原创 嵌入式系统的实时时钟介绍
嵌入式系统的实时时钟,至少需要提供一个精度可接受的1s事件。一般是物理定时器再进行计数后产生。比如物理定时器1ms触发一次,则计数到1000的时候可以触发一个1s事件。实时时钟,在硬件上,需要时钟源、脉冲计数器、数字比较器。脉冲计数器对时钟源输出的时钟进行计数,当达到一定值后和数字比较器比较,如果一致则触发硬件中断。程序在硬件中断中进行处理。如果要保证系统的实时时钟不丢弃,则需要保持计
2017-02-05 14:22:55 4798
原创 为什么要操作系统之我见
小程序员我从编写单片机代码起家,曾有一段时间很排斥带操作系统的东西,觉得操作系统屏蔽了很多硬件特性,不能直接反映硬件特征。在研究了uboot和linux内核后,我渐渐体会到,操作系统很强大,将很多硬件的差异进行了抽象,对上呈现了一个统一的视图(或者叫接口)。感慨自己当初多么稚嫩,对操作系统的理解本末倒置。软件开发的直接目标是实现眼前项目的需求。需求是整个产品成败的根基。对需求理解的偏差,将直接
2013-10-05 00:07:41 759
转载 gdb 中宏的操作
默认编译的时候,调试过程是看不见宏的值的。编译时候需要给选项。gcc -gdwarf-2 -g3 -o test.c testgdb test察看宏(macro)命令: p macroname 就像察看一个普通变量一样。如果只想看宏的展开形势,就用如下命令:macro expand macoroname原文 :http://www.sudu.cn/
2012-05-13 20:23:48 556
原创 Xshell中文显示乱码解决
近日在使用Xshell远程编辑代码(用的是vim)时,发现输入的中文显示都是乱码。初步判定是Xshell字符集的选择有问题。解决的方法很简单,在工具栏上有一个encoding 图标,点击选择Unicode(UTF-8)就行了
2012-05-13 15:08:40 1653
原创 使用memcpy进行数组元素移动
在顺序表中,如果删除元素,需要将其后面的所有元素移动到被删除元素开始的内存位置。一种方法是使用for循环语句,过程如下:...int i;int a[100];...//删除序号为11的元素(从0开始)k = 11;for (i = k; i {a[i - k] = a[k];} 另一种方法是使用memcpy函数#include ...
2012-05-13 14:47:31 3943 2
翻译 gtest 字符串比较
The assertions in this group compare two C strings. If you want to compare two string objects, use EXPECT_EQ, EXPECT_NE, and etc instead.Fatal assertionNonfatal assertionVerifi
2012-05-09 22:18:33 6085
notepad++ fuction list
2010-08-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人