摘要: 度娘、谷哥这些常用搜索引擎我们经常使用,但是我们大多数人的方法可能就是把要搜索的内容直接复制到搜索框的这种最没技术含量的“鸟枪法”,往往搜索出来的结果不是你想要的。我们如何更加快速地获取我们想要的信息呢?这里就以谷哥为例介绍几种搜索技巧。 按文件类型搜索-fi... 阅读全文
posted @ 2018-12-23 16:05 leon11241124 阅读(230) 评论(0) 推荐(0)
摘要: 众所周知在早期版本的Unix系统中,读函数read() 和写函数write()中并没有O_APPEND这一选项。所以为了在文件的末尾添加内容的话一般是分两步走: lseek(fd,0L,2) /*将文件位置指针定位到文件末尾*/write(f... 阅读全文
posted @ 2018-10-29 23:42 leon11241124 阅读(84) 评论(0) 推荐(0)
摘要: 一、原型 #include int open(const char *path, int oflag, mode_t mode);int openat(int fd, const char *path, int oflag, mode_t mode ); ... 阅读全文
posted @ 2018-10-28 16:25 leon11241124 阅读(179) 评论(0) 推荐(0)
摘要: 一、首先来看一个例子: #include int main( ) { int c; c = getchar(); while (c != EOF) { putchar(); c= getchar(); } return 0; } 这里主要解释下为什么要用in... 阅读全文
posted @ 2018-09-16 13:28 leon11241124 阅读(123) 评论(0) 推荐(0)
摘要: 很多新学C语言的童鞋在用到动态内存分配与使用的时候,对如何选择各种分配函数及其底层区别搞不清楚,那么下文就认真的讲讲它们的种种。 (1)C语言的内存分配方式 从静态存储区域分配. 这种方式主要是系统用于自动分配给全局变量、static变量内存资... 阅读全文
posted @ 2018-09-15 17:39 leon11241124 阅读(89) 评论(0) 推荐(0)
摘要: 本文系转载,https://blog.csdn.net/a445849497/article/details/70309508 好久没有更新了,最近看到一篇文章,可以用来作为产品开发的参考流程。 嵌入式产品,与普通电子产品一样,开发过程都需要遵循一些基本的流程... 阅读全文
posted @ 2018-09-05 12:39 leon11241124 阅读(465) 评论(0) 推荐(0)
摘要: 一、看门狗原理 在产品化的嵌入式系统中,为了使系统在异常情况下能自动复位,一般都需要引入看门狗。 看门狗其实就是一个可以在一定时间内被复位的计数器。当看门狗启动后,计数器开始自动计数,经过一定时间,如果没有被复位,计数器溢出就会对CPU产生一个复位信号使系... 阅读全文
posted @ 2018-02-07 21:49 leon11241124 阅读(305) 评论(0) 推荐(0)
摘要: 嵌入式软件开发是一个交叉开发过程,我们可以在特定的 EDA 工具环境下面进行开发, 使用开发板进行二次开发,这样缩短了开发周期,提高了产品的可靠性,降低了开发难度。 我们把脱离于硬件的嵌入式软件开发阶段称之为“PC 软件”的开发。在“PC 软件”开发阶段,可以... 阅读全文
posted @ 2018-01-07 17:31 leon11241124 阅读(195) 评论(0) 推荐(0)
摘要: 一、必要性 CPU 与外部设备交换信息是计算机系统中十分重要和十分频繁的操作。 而接口电路恰恰就是它们之间沟通的桥梁。作为接口电路,通常必须为外部设备提供几个不同地址的寄存器,每个寄存器称为一个I/O 端口。I/O 接口内部通常由数据、状态、控制这3类寄存器组... 阅读全文
posted @ 2018-01-07 15:54 leon11241124 阅读(598) 评论(0) 推荐(2)
摘要: Step 1:学会使用开发板跑简单程序 熟读对应开发板上的ARM芯片的datasheet,之后就尽可能的在开发板上逐个实现芯片对应的每个功能,像GPIO实验,UART通讯,I2C,ADC,DAC,PWM,RTC,SPI等等。当每个功能模块都实现以后,再实现多个... 阅读全文
posted @ 2017-12-31 10:13 leon11241124 阅读(84) 评论(0) 推荐(0)