自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(70)
  • 收藏
  • 关注

原创 STM32中基于DMA的ADC采样实例之MQ-2烟雾传感器

最近一直在学习STM32中的ADC采样,由于手头正好有一个MQ-2的烟雾传感器,所以正好可以测试一把。下面介绍一下这个MQ-2烟雾传感器。1.MQ-2烟雾传感器简介  MQ-2气体传感器所使用的气敏材料是在清洁空气中电导率较低的二氧化锡(SnO2)。当传感器所处环境中存在可燃气体时,传感器的电导率随空气中可燃气体浓度的增加而增大。使用简单的电路即可将电导率的变化转换

2017-07-20 21:06:12 54528 82

原创 linux下C语言编程操作数据库(sqlite3)

前言:C语言中通过调用 sqlite 的函数接口来实现对数据库的管理(创建数据库、创建表格、插入数据、查询、数据、删除数据等),掌握sqlite数据库的语法,以及sqlite提供的函数接口,那么在linux下C语言编程操作数据库就变得简单了。   Centos系统一般默认是没有安装sqlite3数据库的,所以我们要到其官网下载,我下载的版本是 sqlite-3.6.16.tar.gz  [

2017-06-23 17:25:15 39030 1

原创 linux下编程epoll实现将GPS定位信息上报到服务器

****************************************************************************************************************************************************************************************操作系统:CentOS开

2017-06-22 17:18:27 1468

原创 linux下编程实现GPS数据获取与解析

*************************************************************************************************************************************************开发板:fl2440开发模块:A7(GPRS/GPS)**********************

2017-06-20 23:19:07 20044 8

原创 fl2440-3G拨号上网

***********************************************************************************************************************************************************************************开发板     :fl2440CP

2017-06-05 16:22:46 852

原创 fl2440-RT3070无线网卡(AP模式)实现路由器功能

**************************************************************************************************************************************************************************************开发板        :fl24

2017-06-01 18:39:32 1582 1

原创 fl2440-添加RT3070驱动(STA模式)实现无线上网

***************************************************************************************************************************************************************************************开发板     :fl2440

2017-05-30 23:18:57 856 4

原创 GPRS使用AT命令拨接电话,发收中英文短信

*************************************************************************************************************************************************************开发模块:A7模块(GPRS/GPS)********************

2017-05-25 23:10:57 6787 1

原创 2017-难忘的秋招经历

2017年的秋招快要结束了,在校招接近尾声的时候收获了一份合适的offer,也算是对得起自己大学期间所付出的努力吧!2017年9月,10月份的校招,整体的一个感受就是社会太残酷,自己还是太年轻!下面对自己在校招过程中的一些收获及其感受进行一下总结吧!    我是来自一个双非(非985,211)的本科学校,因为学历不好,找工作的时候可谓艰难万分!很多公司特别歧视不是985,211学校的学生,特别

2017-10-24 19:06:22 1461 1

转载 linux下C语言编写贪吃蛇游戏

今天看了一下我之前关注过的一位大神的blog,看到他转发的一篇贪吃蛇游戏,感觉很有确,于是将代码放到linux系统下运行了一下,很不错,mark一下!哈哈。原文连接:点击打开链接/********************************************************************************* * Copyright: (C)

2017-09-09 17:07:26 14425 5

原创 fl2440之initramfs文件系统制作与移植

*******************************************************************************************************************************************************开发板           : fl2440cpu              :s3c24

2017-08-16 14:23:54 834

原创 fl2440开发板之u-boot移植

*****************************************************************************************************************************************************开发板       :fl2440cpu            :s3c2440(arm920

2017-08-15 21:54:18 1035

原创 linux系统之根文件系统树制作

前言: 很早就在linux下做过了uboot移植,linux内核移植以及文件系统的制作,一直没有来得及总结,现在好好把之前做过的东西整理一下,主要是为了备忘。现在总结一下根文件系统树制作的流程。  1.根文件系统简介      文件系统是对一个存储设备上的数据和元数据进行组织的机制。这种机制有利于用户和操作系统的交互。根文件系统它包含系统引导以及其他文件系统所能挂载的必要文件。

2017-08-14 16:57:53 1065

原创 原子操作,自旋锁,互斥锁,信号量学习

1.什么是原子操作?   (1)所谓原子操作,就是该操作绝不会在执行完毕前被任何其他任务或事件打断,也就说,它是最小的执行单位,不可能有比它更小的执行单位,因此这里的原子实际是使用了物理学里的物质微粒的概念。   (2)原子操作需要硬件的支持,因此是架构相关的,其API和原子类型的定义都定义在内核源码树的include/asm/atomic.h文件中,它们都使用汇编语言实现,因为C语言

2017-08-12 16:39:12 829

原创 C语言之桶排序,冒泡排序,快速排序,选择排序算法学习

由于快找工作了,最近开始练习一些笔试题,学习了一下简单的桶排序,冒泡排序,快速排序,选择排序算法,不过这只是皮毛,懂C语言,数学只要不是很差都能明白这几个算法,学习这个算法主要是参考啊哈磊编著的《啊哈!算法》这本书,这本书讲解的还是满生动形象的,还插入了一些漫画,感觉蛮有趣的。比较适合新手。  下面贴上代码:/****************************************

2017-07-31 15:05:39 6548 1

原创 双向链表的基本操作

学过单向链表的小伙伴都知道单向链表中的每一个节点有且只有一个指针,这个指针就是用来指向下一个节点的,单向链表顾名思义就是链表方向是单方向的,而本文要介绍的双向链表就是链表方向是双方向的,也就是双向链表中的每一个节点有两个指针,一个指针用来指向上一个节点(前驱),另一个指针用指向下一个节点(后继)。  本文主要是总结一下自己对双向链表的基本操作,当然我也只是写了几个比较简单的操作,其中包括双向链

2017-07-27 22:46:19 30639 4

原创 单链表基本操作学习

最近几天学习了一下数据结构中的链表,其实大二的时候老师教过数据结构这门课的,但我不敢说自己学过数据结构,呵呵!为什么呢?那时候老师讲链表的时候讲的那叫一个深奥啊!又不举个例子演示一番,刚开始兴趣还是有的,可后面听着听着就走神了,就再也没有听过了,只有期末考试时刷刷往年的题目,应付了过去。所以当时数据结构学的怎么样可想而知!    其实学习链表主要是得掌握指针的操作以及数据结构的用法,当然这里边

2017-07-25 21:48:45 609

原创 STM32之SysTick定时器

1.SysTick简介:     SysTick是系统滴答定时器,可以说是操作系统的的“心跳”,它被绑在NVIC中,用于产生SysTick异常(异常号:15)。一旦产生SysTick异常,就会产生滴答中断,这个滴答中断对操作系统尤其重要。例如:操作系统可以为多个任务分配不同数目的时间片,确保没有一个任务霸占系统,或者将每个定时器周期的某个时间范围赐于特定的任务等。操作系统提供的各种定时功能

2017-07-15 20:12:09 2168 2

原创 STM32之ADC实例(基于DMA方式)

ADC简介:    ADC(Analog-to-Digital Converter,模/ 数转换器)。也就是将模拟信号转换为数字信号进行处理,在存储或传输时,模数转换器几乎必不可少。   STM32在片上集成的ADC外设非常强大,我使用的奋斗开发板是STM32F103VET6,属于增强型的CPU,它有18个通道,可测量16个外部和2个内部信号源。各通道的A/D转换可以单次,连续,扫描或间断

2017-07-14 17:43:49 60976 15

原创 STM32之DMA实例

DMA简介:  DMA(Direct Memory Access,直接存储器存取),是一种可以减轻CPU工作量的数据存取方式,如今被广泛的使用。它在传输数据的同时,CPU可以做其他事,比如数据运算或者响应中断等,DMA就给CPU分担了不少的工作量!DMA工作分析:

2017-07-13 22:01:45 1261

原创 STM32中的assert_param函数浅析

学习STM32时,追踪源代码经常会在ST库函数中看到assert_param()函数,它的作用是什么呢?上网了解一下之后便豁然开朗!下面我将对它的作用及其用法进行简单的总结!其实assert_param()是一个断言机制函数,它主要是用于调试代码。比如我们在调用void USART_DMACmd()库函数时,追踪一下它的定义,会发现它是定义在stm32f10x_usart.c文件中再来

2017-07-13 16:36:28 5825

原创 关于WiFi必须了解的基础知识

今天看了一下极客头条,偶然看到一篇关于Wi-Fi的文章,感觉写的还不错,所以把它记录下来便于自己日后深入的学习物联网技术!为了更好的理解WiFi,下面我对原文进行一下总结!以下大部分内容来自原文,在这里对其表示感谢。        自从只需少量的话费就可以将笔记本、平板电脑连接到互联网,WiFi已成为我们熟知的网络,并无处不在。Wi-Fi对于一些物联网应用十分有用,比如楼宇自动化、内部能源管理

2017-07-10 15:57:37 25244 1

原创 linux下shell script学习(二)

今天再来学习shell脚本,下面对自己已经掌握的一些shell语法及命令进行总结!1.read命令提示用户输入字符串设置好PATH变量,这个比较好的是我们写的脚本在执行时可以直接使用一些外部命令,而不必加上绝对路径。[zoulei@CentOS test]$ vim test.sh 1 #!/bin/bash 2 PATH=$PATH 3 export PATH 4 r

2017-07-09 16:45:09 389

原创 linux下shell script学习(一)

对于以后想从事嵌入式软件开发工作的人来说,至少要能看懂shell脚本,最好能自己编写shell脚本,因为当你在linux操作系统做开发你会发现,shell脚本能够解决你总是重重复复做的一些事,给你节约很多宝贵的时间!那么什么是shell script呢?其实shell脚本是利用shell的功能所写的一个“程序”,这个程序是使用纯文本文件,将一些shell的语法与命令写在里面,搭配正则表达式,管道命

2017-07-08 22:34:23 595

原创 linux下gdb调试基本命令学习

我们知道软件开发,调试技能是一个必备技能,学会调试就能快速高效地抓到bug,而gdb 是 GNU 调试器,Linux 上的标配调试器。下面我就对我所学到的一些在linux下gdb调试命令进行一下总结:命令描述:backtrace(或bt):        查看各级函数调用及参数finish :                             连续运行到当前函数返回为止,然后停下

2017-07-08 15:32:57 6901

原创 linux下gdb调试解决core dumped问题

最近因为忙于期末考试,前面学习过程中遇到的问题一直没有总结,现在考试考完了,终于有时间搞自己的事情,开兴ing.今天把自己写代码遇到的问题总结一下!之前在学习C语言编程操作sqlite3数据库遇到了Segmentation fault(core dumped)错误,但是因为代码有点长直接肉眼找到错误所在,比较浪费时间,所以就上网查找有没有相关快速调试的方法,网上一搜,果然有大神写过类似的文章。

2017-07-07 21:54:31 2203

转载 GPS通讯协议解析

核心提示:说起NMEA协议,只要接触过GPS设备的人,或者说是要用到GPS设备研发的人都知道,这是一个很常用的GPS通讯协议,而且也有很多人遇到关于NEMA协议的一些问题说起NMEA协议,只要接触过GPS设备的人,或者说是要用到GPS设备研发的人都知道,这是一个很常用的GPS通讯协议,而且也有很多人遇到关于NEMA协议的一些问题,我忽然有一个想法,就是按照自己对这个协议的一些理解,写一点这

2017-06-25 22:08:48 5174 1

原创 linux下网络socket编程(一)

前言:在学习网络socket编程之前,我们最好了解一下socket的基础知识,以及TCP,UDP协议是怎样的?网上有大量的文章分析SOCKET的,感觉这位网友分析的特别好,强烈推荐:点击打开链接1.什么是socket?    socket起源于Unix,而Unix/Linux基本哲学之一就是“一切皆文件”,都可以用“打开open –> 读写write/read –> 关闭close”模

2017-06-19 14:20:34 2986

原创 STM32-串口通信printf重定向

前言:平时我们进行c语言编程的时候会经常用到printf函数进行打印输出,来调试代码。可是这个printf函数C库已经帮我们实现好了,通常只需要直接调用即可,但是如果在一个新的开发平台,如果库没有帮我们实现好,比如STM32开发板,那么我们怎么实现printf打印输出呢?话不多说,看代码!main.c:#include "printf.h"int main(){ pr

2017-06-11 19:56:58 30158 4

原创 linux下svn命令使用

前言:当我们做项目的时候,如果是一个团队共同开发一个项目,团队的成员想看,或则修改彼此的代码。那么这时候用到SVN版本控制系统将一个团队的代码统一管理起来,这是特别方便的一件事。以下我是以淘宝code代码仓库为例进行相应的操作。1.svn下载安装  1.1 首先检查linux系统是否安装svn,下列命令查看之后我的linux系统下已安装。    [zoulei@CentOS ~]$ r

2017-06-11 16:33:00 845

原创 windows下svn的使用

svn简介:    SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。一.windows下svn的使用1.TortoiseSVN 安装 TortoiseSVN

2017-06-11 14:56:32 4725 2

原创 linux下GPRS模块使用AT命令实现拨接电话,发中英文短信

***************************************************************************************************************************************************************************开发板           :fl2440cpu

2017-05-28 17:21:45 4450

原创 STM32_按键中断

***************************************************************************************************************************************开发板   :奋斗STM32MCU        :STM32F103开发环境:keil uVsion4

2017-05-24 23:10:34 19010

原创 STM32_入门程序LED

***********************************************************************************************************************************************************开发板   :奋斗STM32cpu         :STM32F103开发环

2017-05-13 23:12:08 821

原创 linux3.0-内核自带led驱动移植

**********************************************************************************************************************************************************************************cpu          : s3c24

2017-05-09 21:38:58 1009

原创 linux-3.0-Gadget驱动移植实现模拟U盘

**************************************************************************************************************************************************************************************** cpu         :

2017-05-09 20:00:11 3394 1

原创 eeprom驱动移植

****************************************************************************************************************************************************pc操作系统:CentOS 6.7开发板cpu  :  s3c2440(arm9)内核版本

2017-05-03 22:00:36 1235

原创 LCD驱动移植

*********************************************************************************************************************************************cpu          : s3c2440(arm9)开发板    :fl2440开发板内核版本:lin

2017-05-01 19:41:47 1851

原创 我对linux驱动 输入子系统的理解

前言:学习驱动有一段时间了,之前所学习的驱动都是驱动最原始的写法,也移植过很多驱动,然而并没有对内核自带的驱动进行深入的了解,于是出于好奇,就认真的学习了一下内核自带的驱动,我发现之前所学习的驱动都是将file_operations结构体直接定义在驱动定义的C代码里的,当然还有它里面的一些函数操作,可是我看内核自带的驱动代码的时候我发现里面是用另外一种机制来实现这些的,那便是子系统!初次接触到子系

2017-04-24 22:40:40 6692 1

原创 tslib移植到fl440开发板

************************************************************************************************************************操作系统:CentOS开发板:fl440******************************************************

2017-04-19 22:00:20 370

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除