自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

萬象森羅,能者獨秀!

命乃弱者藉口,運乃強者謙詞。

  • 博客(59)
  • 资源 (6)
  • 收藏
  • 关注

原创 关于程序员成长的一些思考

关于程序员成长的一些思考自己俨然还是一个涉世未深的甚至可以算得上是还未涉世的年轻程序员。敢以『涉世未深』自居是因为自己在学校实验室多多少少做过点东西。如此,竟然妄自谈论程序员成长相关话题实属不妥,只是因为无意之中看到一篇博文,阅读之后谈谈自己感受罢了。下面是这位博主的原文 程序员的我们,是否想过今后的路该怎么走、如何发展、技术怎样提高?其实这也是我一直在思考的问题。下面就此问题,分享下我的看法。

2017-03-23 15:35:09 1568

原创 《疯狂程序员》有感

进入大学以来,几乎没有完整的看完过一本书。但是这本书不仅从头到尾的看完了,而且前后读了两遍。这本书就是《疯狂的程序员》这正是《疯狂的程序员》的诞生之地——CSDN。所以也想借这个平台谈谈对该书的感受顺便分享一些『绝影』的经典语录。读这本书的时候,总是给人一种身临其境的感觉,似乎自己就是那个「 疯狂的程序员」本人,这正是我能够坚持读下去的原因。也正是读了这本书,才真正的了解自己,了解

2016-11-02 20:01:32 5261 5

原创 windows下python环境搭建

windows下python环境搭建安装python环境,配置环境变量下载安装python 在 windows 下编写调试 python 程序,首先需要去 python 官网(www.python.org)下载正确版本的python进行安装,安装方法和普通软件安装没什么差别,根据自己喜好选择安装路径之后,一路『同意』『next』就行了。配置环境变量 将python的安装路径添加到 $PATH

2017-11-04 19:32:48 2366

原创 2017秋招求职历程总结

2017秋招求职历程总结从小的梦想就是有朝一日能够从事汽车设计研发相关的工作,如今杰发科技帮我实现了这个梦想,感谢杰发科技,感谢大学遇到的那些人。终于在国庆之前拿到了一份还算满意的offer。9月1号从实习单位离职准备接下来的秋招,到9月29号拿到杰发科技offer,参加了四家公司的面试,拿到了3个offer。成绩还算可以,在这里对自己找工作这段时间以来的感想,经历做一个分享和总结。笔试研发岗不像其

2017-09-30 22:22:50 3150 5

转载 C语言运算符优先级

本文转自:http://blog.csdn.net/huangblog/article/details/8271791    每当想找哪个运算符优先级高时,很多时候总是想找的就没有,真让人气愤!现在,终于有个我个人觉得非常全的,分享给大家,欢迎拍砖!C语言运算符优先级优先级运算符名称或含义使用形式结合方向说明1[]数组下标数组名[常量表达式]左到右–()圆括号(表达式)

2017-08-02 21:09:40 629

原创 基于VxWorks的VxBus字符设备驱动

基于VxWorks的VxBus字符设备驱动VxBus是指在 VxWorks 中用于支持设备驱动的特有的架构,这种架构包含对minimal BSP的支持。它包括以下功能:允许设备驱动匹配对应设备;提供驱动程序访问硬件的机制;软件其他部分访问设备功能;在VxWorks系统中,实现设备驱动的模块化。VxBus是Vxworks的模块化机制,类似于linux中的module。通过VxBus可以对模块

2017-07-31 22:47:49 3268

原创 VxWorks 串口读写操作

#在 VxWorks 中,系统内核已经帮我们实现了串口驱动,所以可以用统一的接口函数和命令来配置串口相关参数,这一点相比 Linux 简单得多。串口配置过程打开串口fd = open("/tyCo/0", O_RDWR, 0);"/tyCo/0" 串口1的设备名,O_RDWR:open for reading and writing设置串口raw模式,清空输入输出的缓冲区在VxWorks中配置串口

2017-07-31 22:06:17 8287

原创 C语言基础知识学习记录

const关键字const在C/C++中用来指定某一变量为常量,const修饰变量的情况较容易理解,比如:const int a = 500;/*指定a为常量50,0,a的值不可以再被改变*/a = 400;//编译的时候会报错 ,a的值不能再被改变关于const对于指针的修饰有下面四种情况 * int b = 500; const int *a = &b; * int b = 500

2017-07-30 19:04:15 416

原创 VxWorks时间片轮转调度

VxWorks时间片轮转调度任务调度是基于某种规则约束,给一个任务集合中每个任务分配开始和结束的时间。约束方式一般分为时间片约束和资源约束。在VxWorks中,系统按照时间片依次轮流执行每个任务,从而造成多个任务在单个处理器上同时执行的假象。 wind内核调度默认使用的是基于优先级抢占式调度,同时也允许使用轮转调度。轮转调度的目的是使用相同优先级的所有就绪任务共享CPU。如果不使用轮转调度,当多个

2017-07-29 11:58:18 2936

原创 基于优先级的抢占式调度

基于优先级的抢占式调度Wind内核调度默认使用基于优先级抢占式调度,内核共有 256 个优先级(任务的优先级在其创建时指定,为0~255),优先数 0 对应着最高优先级,优先数255 对应着最低优先级。每一时刻,内核保证将资源分给处于就绪状态的最高优先级的任务执行。之所以说这种调度算法是抢占的,是因为如果在某个时刻,一个优先级比当前正在运行的任务的优先级高的任务变为就绪,那么内核立即保存当前任务的上

2017-07-29 11:57:14 2999

原创 VxWorks消息队列

VxWorks消息队列在单CPU中,VxWorks的多任务通信的主要机制是消息队列。如图: 消息队列允许以FIFO方式或给予优先级方式排队消息,消息的数目可变,消息的长度可变。每一个任务都可以向消息队列发送消息也可以从消息队列中读取消息,并且多个任务允许同时从消息队列中收发消息。但是,两个任务间的双向通信通常需要两个消息队列,各自用于一个方向。相关控制函数msgQCreate()VxWorks创建

2017-07-15 13:07:03 7130 1

转载 程序、任务、进程和线程的联系与区别

程序(program)只是一组指令的有序集合。任务(task)是最抽象的,是一个一般性的术语,指由软件完成的一个活动。一个任务既可以是一个进程,也可以是一个线程。简而言之,它指的是一系列共同达到某一目的的操作。例如,读取数据并将数据放入内存中。这个任务可以作为一个进程来实现,也可以作为一个线程(或作为一个中断任务)来实现。  进程(process)常常被定义为程序的执行。可以把一个进程看成是一个独

2017-07-12 21:51:15 1135

转载 vxWorks中sysClkRateGet()返回系统时钟详解

操作系统总是基于某个时钟节拍来跑的。。。这个节拍的得到往往是通过硬件时钟中断得到,一般 来说这个中断的优先级就比NMI低一点点,比其他的都高。。这个中断是共给操作系统用的,操作系统用他来进行调度啊什么的各种处理。而在vxWorks中 的一个重要参数就是SYS_CLK_RATE这个参数,也就是系统时钟率。。。。它的含义是:系统时钟滴嗒在一秒钟之内发生多少次。比如说,你定义为 60,那么系统时钟在1s中

2017-07-12 21:50:05 3864

原创 wireshark 过滤规则语法

wireshark过滤器语法规则capture filtercapture filter是用在抓包之前,wireshark按照过滤规则抓取相关数据包。 语法: protocol direction host value logic operation others expressionprotocolprotocol的值可为:ether, fddi, ip, arp, ra

2017-06-25 14:27:39 1130

原创 浅析 linux防火墙 iptables

浅析linux防火墙iptablesiptables防火墙iptables是用C语言实现的,并以GNU许可协议发布。其包括两部分,netfilter 和 iptables,iptbles是linux管理防火墙规则的命令行工具,处于用户空间。管理员通过iptables工具集和内核打交道,将防火墙规则写入内核。netfilter执行报文过滤规则,处于linux内核空间。通常用iptables来统称lin

2017-06-19 17:03:59 623

原创 C语言编程实现对SQlite数据库操作

C语言编程实现对SQlite数据库操作前面两篇文章介绍了SQlite数据库的基本语法和命令,这篇文章主要介绍利用SQlite提供的C接口实现用C语言编程操作数据库。SQlite提供的给C的API在编程之前我们先来了解几个重要的接口函数 sqlite3_open,sqllite3_exec 和 sqlite3_close。sqlite3_open原型:int sqlite3_open(const ch

2017-06-12 19:06:52 1538

转载 sqlite3常用命令&语法

http://blog.csdn.NET/linchunhua/article/details/7184439sqlite数据库只用一个文件就ok,小巧方便,所以是一个非常不错的嵌入式数据库,SQLite大量的被用于手机,PDA,MP3播放器以及机顶盒设备。    Mozilla Firefox使用SQLite作为数据库。    Mac计算机中的包含了多份SQLite的拷贝,用

2017-06-11 18:35:00 551

原创 linux下Sqlit安装及应用

下载安装sqlite去sqlite官方首页下载想要的版本的sqlite源码包[lwn@localhost sqlite]$ wget http://www.sqlite.org/sqlite-3.6.16.tar.gz进入下载目录,解压文件sqlite-3.6.16.tar.gz解压后生成sqlite-3.6.16目录. cd 进入sqlite-3.6.16[lwn@localhost sqlite

2017-06-11 17:01:43 1257

原创 网络socket编程相关函数

网络socket编程相关函数socket函数socket函数为系统创建一个套接字,应用程序通过访问该函数创建的套接字实现对数据的发送和接收。 函数原型如下:如果函数调用成功,会返回一个标识这个套接字的文件描述符,失败的时候返回-1#include<sys/types.h>#include<sys/socket.h>int socket(int domain, int type, int pro

2017-06-10 15:30:14 560

原创 3G模块SIM5360E实现拨号上网功能

3G模块SIM5360E实现拨号上网功能在物联网领域网络互连是非常重要的一个环节。各种传感器采集必要的信息经过单片机的处理之后需要通过网络将数据上报给服务器。在物联网领域联网方式一般为无线网,二用得最多的又是各运营商提供的物网卡(物联网SIM卡)拨号上网。这里基于3G拨号上网做一个学习总结。我使用的是联通的WCDMA拨号上网方式,其他的拨号上网方式大同小异。添加内核支持在内核的make menuco

2017-06-07 19:43:46 2936

原创 linux shell 脚本编程基本语法

linux shell 脚本编程打印ip命令: ifconfig eth0 | grep ‘inet’| awk ‘{print $2}’ 第一行:#!/bin/sh:表示有bin/sh来执行 -a:表示and,类似于C语言中的& -o:表示or,类似C语言中的| linux有很多sheel csheel等 .pl是python脚本 1. sheel变量不需要声明类型 2. 变量无需

2017-06-06 17:32:03 5887 2

原创 FL2440——基于安信可A7模块编程实现GPS定位功能

基于安信可A7模块编程实现GPS定位功能A7 GPRS/GPS模块是安信可科技最新推出的“简单、易用的GPRS透传模块”!提供串口转GPRS/短信息/语音通话等信息传输功能,方便嵌入在众多的监测,遥控,安防,车辆导航,定位的硬件产品。以及当下火热的可穿戴设备上,可以应用在诸如儿童/老人智能定位鞋,电动车/山地车定位报警,宠物定位等领域。要学习GPS模块并编程实现GPS定位功能,自然不能不了解NMEA

2017-05-31 19:59:45 1981

原创 安信可 A7模块——GPRS之AT命令

AT 测试GPRS模块是否连接完好>AT/*成功返回OK*/AT+CPIN:检测手机SIM卡是否安装好 >AT+CPIN? //检测手机SIM卡是否安装好 +CPIN:READY //如果手机SIM卡安装正确,返回ready OK AT+CSQ:检测手机信号强度>AT+CSQ //检测手机信号强度 +CSQ: 14

2017-05-30 15:43:52 2353

原创 FL2440——RT3070 softAP模式 实现无线路由器功能

FL2440实现无线路由器功能RT3070无线网卡有两种工作模式STA模式和softAP模式,分别由STA驱动和softAP驱动来实现,STA驱动支持无线网卡工作在STA模式下,可以连接到网络实现上网功能。而SoftAP的驱动支持无线网卡工作在softAP模式下,可以作为一个软的接入点,实现无线路由器功能。在前面一篇博客总结了STA模式的驱动移植,使得我们的开发板能够连接到互联网实现上网功能。这里对

2017-05-27 21:05:34 1501

原创 FL2440——RT3070 STA模式 实现无线上网功能

FL2440添加RT3070实现无线上网rtl3070中文名称为雷凌3070,是台湾雷凌科技有限公司生产的一款专用于usb无线网卡的处理芯片。是一种低功耗高度集成的MAC / BBP和2.4G RF单一芯片,支持300Mbps的吞吐量。 前面的学习过程中,在FL2440上面已经使能了DM9000的有线网卡和USB驱动,可以使用DM9000实现上网功能,现在对于FL2440添加驱动使其可以使用雷凌公

2017-05-15 22:13:03 1689

转载 IP地址,网关,子网掩码,网段

网段就是从一个IP端到另一个IP端的一段范围 好比 从192.168.0.1到192.168.0.255着之间就是一个网段“ 子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。 子网掩码的设定必须遵循一定的规则。与IP地址相同,子网掩码的长度也是32位,左边是网络位,用二进制数字“1”表示;右边是主机位,用二进制数字“0”表

2017-05-10 16:48:14 449

原创 linux I2C驱动移植

linux I2CI²C总线仅使用SCL,SDA两根信号线实现设备间的数据交互,被广泛应用于微控制领域芯片与芯片之间的通信,如EEPROM,实时时钟,小型LCD等与CPU之间的通信。I2C协议I2C利用两根总线根据自己的通信协议实现数据交互起始信号:当SCL为高期间,SDA由高到低的跳变;启动信号是一种电平跳变时序信号,而不是一个电平信号。停止信号:当SCL为高期间,SDA由低到高的跳变;停止信

2017-05-08 16:34:16 2461 1

原创 FL2440——Gadget驱动实现模拟U盘功能

由于项目需要,需要将Fl2440实现模拟U盘功能。这种功能在生活中很常见,比如我们的手机用USB线连接上电脑的时候,电脑会自动识别为U盘,读取手机(Nandflash)里的文件。Gadget驱动在做移植之前我们需要先了解一个驱动——gadget驱动USB驱动分为主机侧驱动(USB host驱动)和设备侧驱动(gadget驱动)。顾名思义,主机侧驱动一般是将开发板作为主机,可以外接USB设备如U盘,鼠

2017-05-05 12:52:06 3673 2

原创 FL2440—独立ADC驱动模块

fl2440 ADC驱动编写前面的学习中多次了解到linux内核对于各种常见驱动的支持相当的好,ADC也不例外。但是为了驱动的学习,参考datasheet的内容以及网友的博客文章,依然自己编写单独的ADC驱动模块。下面对ADC驱动的学习做一个简单的总结。在s3c2440中集成了一个8通道的10位ADC,其从有4个通道即XP, XM, YP, YM连接到触摸屏的接口,用来检测转换触摸屏的模拟信号。剩下

2017-04-27 20:43:37 605

原创 FL2440—基于platform 模型的DS18B20驱动实例

基于platform 模型的DS18B20驱动实例通过前面的学习了解到DS18B20是基于单总线协议靠一个单线端口与CPU通信实现数据传输,关于单总线设备之前接触的比较少,这次通过学习编写DS18B20的驱动,总算对这种通信协议有了多一点的了解。单总线通信协议时序理解初始化序列——复位和存在脉冲如图为DS18B20的单总线通信协议的初始化序列时序,DS18B20的所有通信都由由复位脉冲组成的初始化序

2017-04-27 14:45:39 1148

原创 FL2440添加DS18B20驱动

FL2440添加DS18B20驱动linux内核对于各种外设支持非常好,内核已经集成了大部分驱动,DS18B20属于单总线设备,在内核的驱动代码目录(drivers/w1/)下有专门的单总线设备驱动,我们只需要对其稍作修改就能使用。Dallas 1-wires是Dallas公司的单总线设备,DS18B20(温湿度传感器)就是其中最具代表的设备,只用一根总线与cpu进行通信并且实现数据传输。具有体积小

2017-04-27 14:44:14 600

原创 《程序员的思维修养》读书总结

《程序员的思维修养》读书总结弗雷德斯模型无意中在朋友的口中了解到了本书,于是满怀好奇的读了几页。一开始以为这本书讲的无非是作为一个程序员应该怎么怎么样去学习编程,或者以怎样的心态来做好一个程序员。读了之后,显然我错了。这本书并不是我最开始认为的『鸡汤』文书籍,而是真正可以学到很多知识,能够有所成长的书籍,如果按照书上的去做,重要的是并不只适合程序员阅读,对于普通大众也很很适用。书中在开头提出了德雷福

2017-04-21 23:40:26 502

原创 FL2440添加自带led驱动

FL2440添加自带led驱动在之前学习驱动自己写过led的驱动程序,其实s3c2440对于驱动已经支持得非常好,内核里面已经有了led的驱动程序,我们要使能led驱动只需要稍作修改。make menuconfig 配置 Device Drivers ---> [*] LED Support ---> [*] LED Class Support

2017-04-20 21:47:31 512

原创 fl2440添加SD卡驱动

fl2440添加SD卡驱动linux中对s3c2440的驱动已经完善得比较好,如果需要使用相关驱动,我们只需要在make menuconfig中选上相应的配置选项,并且稍稍修改内核源码就可以使用相关驱动。SD卡的驱动也不例外make menuconfig 选项Device Drivers —> <*> MMC/SD/SDIO card support —>

2017-04-17 20:51:21 445

原创 fl2440添加USB驱动

fl2440添加USB驱动make menuconfig选项linux内核对于USB驱动已经完善得很好,我们只需要在make menuconfig选项中选择相应的选项便可以直接使用。 Device Drivers ---> Generic Driver Options ---> (/sbin/hotplug) path to uevent helper

2017-04-15 20:54:36 1030

原创 plat_button驱动实例

plat_button驱动实例前面对plat_button驱动代码重要部分做了简要分析,现在基于plat_button驱动代码写一个测试程序,用以测试驱动代码的功能是否正确。驱动代码源码/********************************************************************************* * Copyright: (C) 2

2017-04-14 15:08:34 482

原创 按键驱动——plat_button分析总结

plat_button驱动学习总结前面学习了LED驱动代码和基于platform总线的LED驱动代码,对于基本的ARM开发板驱动以及platform总线有了简单的了解,现在开始对按键的驱动进行学习总结。按键驱动同样是基于platform总线来写的驱动,整个驱动和设备的注册过程和之前的plat_led驱动完全相同,不同的是在plat_led驱动的基础之上,增加了中断和阻塞以及轮询等相关知识。初始化函数

2017-04-13 21:18:47 690

原创 关于ctrl+c 和 ctrl+z的区别

关于ctrl+c 和 ctrl+z的区别昨天和朋友讨论到linux下ctrl+c和ctrl+z那个是终止程序,那个是挂起程序的问题。于是自己做了一个小小的测试,用一个简单的hello程序作为测试,其源代码为: #include "stdio.h" /*************************************************************************

2017-04-13 19:28:22 1294

原创 plat_led驱动实例

上篇文章对于plat_led的驱动程序做了一个简要分析,现在基于plat_led驱动程序写了一个简单的测试程序,用以测试plat_led驱动程序的正确性。程序源码plat_led驱动程序/******************************************************************************** * Copyright: (C) 20

2017-04-12 19:46:53 807

原创 plat_led驱动总结

plat_led驱动总结@(linux 编程)[led, 驱动]platform驱动介绍在学习platform驱动之前,我写过最原始的 led 驱动程序,其包含了硬件初始化和设备注册的所有工作。这种模型理解起来直观易懂,但是在实际的应用当中却显得不那么理想。设备信息和驱动代码冗余在一起,一旦设备信息发生一点变化将会导致整个驱动程序的大幅度修改甚至重写,十分的麻烦。因此,linux引入了platfor

2017-04-12 18:52:54 728

vim_conf linux vim配置工具

vim_conf是linux vim命令的一些简单配置工具,就是上传

2017-11-08

STM32多路AD配置实例

在用STM32做开发或学习的时候难免需要同时采集多路AD信号,在此仅以两路AD配置为例,多路AD按照相同的方法配置。

2016-11-14

STM32F4两(多)路AD配置实例

在用STM32做开发或学习的时候难免需要同时采集多路AD信号,在此仅以两路AD配置为例,多路AD按照相同的方法配置。

2016-11-14

基于STM32F407的语音存储回放

此代码作为STM32学习入门的实例,使用stm32的ADC,Flash,LED,DAC,DMA,定时器等外设,实现信号的采集,存储,重现。

2016-11-05

链表操作实例

该代码为链表操作实例,包含链表创建,增加节点,删除节点,倒序节点等。

2016-11-02

网络 socket 编程实例

该代码为socket编程实例,实现简单一对一聊天功能。本人没有发现明显bug,可直接运行测试。

2016-10-31

空空如也

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

TA关注的人

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