- 博客(72)
- 资源 (5)
- 收藏
- 关注
原创 树莓派
//修改ipvi /etc/network/interfaces文件iface lo inet loopback#iface eth0 inet dhcpiface eth0 inet staticaddress 192.168.137.100netmask 255.255.255.0gateway 192.168.137.1allow-ho
2015-02-10 15:00:33
8535
原创 数据结构--队列实现(顺序队列和链队列)与C++模板
数据结构--队列实现(顺序队列和链队列)与C++模板一、顺序队列#include #include #include #define OK 1#define FAIL 0//最大队列长度 循环队列的大小减1 为了区分队空与队满的判断 #define QUEUE_MAX_SIZE (10+1) typedef int QElemType;/
2014-12-09 10:10:12
11734
原创 Linux--Git使用记录与总结(连载中)
Linux--Git使用记录与总结一、git 常用操作记录:git staus 查看当前仓库文件改动状态git add 添加文件到git仓库git commit -m “discribe word” 提交到本地服务器//git 安装sudo apt-get install git-core//git用户和邮箱配置gi
2014-12-04 15:48:10
8475
原创 算法--简单排序算法总结与模板
#include #include #include int a[]={223, 34, 23, 2, 21, 55, 87, 533 , 213, 111};//int a[]={2, 21, 23, 34, 55, 87, 111, 213, 223, 533};//int a[]={533, 223, 213, 111, 87, 55, 23, 34 , 2
2014-12-03 14:26:31
9064
转载 Raspberry Pi 增加TFT显示
Raspberry Pi 增加TFT显示 The Raspberry Pi Foundation是英国一个小型的慈善组织,成立的宗旨在于推广科技,而非以销售技术来营利。 Raspberry Pi是一款基于Linux系统的个人电脑,配备一枚700MHz的处理器,256内存,支持SD卡和Ethernet,拥有两个USB接口,以及 HDMI和RCA输出支持。
2014-11-21 10:00:37
10653
原创 学习笔记
const char*, char const*, char*const的区别问题几乎是C++面试中每次都会有的题目。 事实上这个概念谁都有,只是三种声明方式非常相似很容易记混。 Bjarne在他的The C++ Programming Language里面给出过一个助记的方法: 把一个声明从右向左读。 char * const cp; ( * 读成 pointer t
2014-11-20 16:16:27
8472
原创 算法--堆排序学习以及模板
堆排序学习以及模板#include #include int getParent(int i){ return (int)(i/2); }int getLeftSon(int i){ return (i*2);}int getRightSon(int i){ return (i*2 + 1);}void PrintHeap(i
2014-11-19 17:49:52
9336
转载 程序员练级之路 (作者:陈皓)
建议:不要乱买书,不要乱追新技术新名词,基础的东西经过很长时间积累而且还会在未来至少10年通用。回顾一下历史,看看历史上时间线上技术的发展,你才能明白明天会是什么样。一定要动手,例子不管多么简单,建议至少自己手敲一遍看看是否理解了里头的细枝末节。一定要学会思考,思考为什么要这样,而不是那样。还要举一反三地思考。注:你也许会很奇怪为什么下面的东西很偏Unix/Linux,这是因为我觉
2014-11-19 10:03:02
9026
翻译 树莓派wiringPi库API函数(翻译中)
树莓派wiringPi库功能(API)翻译英文网页:https://projects.drogon.net/raspberry-pi/wiringpi/functions/在使用wiringPi库之前,你需要包含头文件:#include 你需要增加 -I/usr/local/include -L/usr/local/lib -lwiringPi 在使用命令行的时候编
2014-11-18 15:38:14
18288
原创 算法--自己写快排模板与C++快排库函数使用
#include typedef struct{ int num; int grade;}STUDENT_INFO_T;STUDENT_INFO_T student[101];//声明一个COMP类型函数指针 以后就可以直接用COMP定义该函数指针 typedef int (*COMP)(const STUDENT_INFO_T *, const STUDENT_INFO
2014-11-13 10:25:11
11622
转载 Linux 的启动流程
Linux 的启动流程作者: 阮一峰半年前,我写了《计算机是如何启动的?》,探讨BIOS和主引导记录的作用。那篇文章不涉及操作系统,只与主板的板载程序有关。今天,我想接着往下写,探讨操作系统接管硬件以后发生的事情,也就是操作系统的启动流程。这个部分比较有意思。因为在BIOS阶段,计算机的行为基本上被写死了,程序员可以做
2014-11-05 17:51:44
8890
原创 Linux(C/C++)下的文件操作open、fopen与freopen
Linux(C/C++)下的文件操作open、fopen与freopen
2014-11-03 09:21:53
46906
原创 键值转换--复杂按键事件识别程序(链接层-优化版)
复杂按键事件识别程序(链接层-优化版)本文相对于键值转换--复杂按键事件识别程序(链接层)文章中所述的按键事件转换程序进行优化(原来的代码太多,太杂,不易于维护)。优点:代码简洁,易于修改和阅读。缺点:无法区分某一特殊按键在不同的系统状态下的按键时间(比如同一个键在不同的情况下可以长按3s或则5s),连按和长按不能同时存在(也可以加条件进行区分)。复杂按键包括多个按
2014-10-27 16:26:06
8731
原创 树莓派(Raspberry Pi Model B+)无显示器和无线网卡上手指南
树莓派(Raspberry Pi Model B+)无显示器和无线网卡上手指南最近买了一块树莓派板子(Raspberry Pi Model B+)平时作学习之用,只买了块裸板没有显示器和网卡(现在觉得完全没有必要去买显示器),在搭建环境的时候就遇到了一些问题,现在对在搭建树莓派环境遇到的问题做一个总结。
2014-10-23 15:29:32
22870
原创 模拟串口--基于STM8普通IO口的模拟串口驱动程序
基于STM8普通IO口的模拟串口驱动程序标准串口通讯数据的格式为:起始位(1) + 数据位(8) + 校验位(1) + 停止位(1)串口通讯另外一个重要的的部分是设置波特率,波特率就是1秒钟内串口所传输的Bit(位)数。关于采样频率:为了较小读取或者发送串行数据的误差,我们采取了在N(我用的是4次)次中断中,取固定位置的读取的数据。我以stm8中9600波特率计算的
2014-10-13 17:12:59
10107
原创 IAR模板--如何在IAR工程中创建和使用模板
如何在IAR工程中创建和使用模板1、编辑和使用模板的方式:路径为:Edit -> Code Templates -> Edit Templates 如下图:创建好模板后,可以在文件中单击右键,选择Insert Template 来插入你编辑好的代码模板。2、如果创建编辑各种模板:定义代码模板的语法是:模板 , [=默认值] ... ...模板
2014-10-11 17:18:36
11769
原创 LCD显示--Ht1621b芯片显示屏驱动
Ht1621b芯片显示屏驱动关于HT1621b芯片的详细信息可以参考数据手册上的内容:百度文库HT1621b中文资料以下为芯片驱动程序(STM8单片机):/* Includes ------------------------------------------------------------------*/#include "stm8s.h"#in
2014-09-29 10:20:14
1973
原创 红外遥控--红外遥控的编解码以及识别驱动
红外遥控的编解码以及识别驱动 由于不同的遥控器的编码格式可能是不同的,这里只是目前我所用的这款遥控器的单片机识别程序以及可以对未知编码格式的红外遥控器进行解码的方法。 红外遥控器的编码一般由引导码、系统码、系统反码、功能码、功能反码、固定停止码或者校验码等组成。 1、实例 红外遥控器解码识别程序 作为例子的遥控器是属于一种空调遥控器的编码。(以后所说的T都是指4
2014-09-23 16:05:45
3438
2
原创 键值转换--复杂按键事件识别程序(链接层)
复杂按键事件识别程序(链接层)复杂按键包括多个按键的单按事件、长按事件、连按事件、组合按键事件等本程序为链接层程序,处理和识别按键驱动层扫描到的按键信息g_u8KeyValue。(g_u8KeyValue的每一位表示一个按键)单按事件在按下键松开时判定,其它按键情况在达到规定的时间后触发相应按键事件。宏定义://宏定义各按键按下时的bit值#define KE
2014-09-19 09:58:05
630
原创 单线通讯--单数据线自定义通讯驱动程序
单数据线自定义通讯驱动程序简介:在双MCU单片机之间通过一根数据线(GPIO口)进行通讯的驱动(50us中断一次) 发送数据的数据头:定义为90次中断的低电平(50us*90 = 4.5ms) 270-90此中断的高电平(50us*180 = 9ms) 发送数据1:定义为11次中断的低电平(50us*11 = 550us) 45-11次中断的高电平(50us*3
2014-09-19 09:32:28
2328
1
原创 软件时钟--使用定时器定时模拟时钟
软件时钟 #include "global.h"//时基函数结构体typedef struct{ uint16_t DelayTime; uint16_t TimeBackup; uint16_t Init;}TIMER_T;static volatile uint16_t u16Day; //日static volatile uint16_t u1
2014-08-26 11:42:54
1274
原创 硬件时钟--ht1381时钟芯片驱动
ht1381时钟芯片驱动#include "global.h"//时钟芯片ht1381各引脚定义#define HT1381_CS_GPIO_PORT GPIOD#define HT1381_CS_GPIO_PIN GPIO_PIN_3#define HT1381CsHigh() (HT13
2014-08-21 17:36:03
2162
1
原创 LCD显示--TM1640芯片驱动程序
TM1640芯片驱动DIN:串行数据输入,输入数据在 SCLK 的低电平变化,在 SCLK 的高电平被传输。 SCLK:在上升沿输入数据 。/* Includes ------------------------------------------------------------------*/#include "stm8s.h"#include "global.h"
2014-08-21 17:20:41
4119
1
原创 LCD显示--HT1621b芯片驱动程序
HT1621b芯片驱动程序/* Includes ------------------------------------------------------------------*/#include "drv_ht1621.h"/* Private typedef ---------------------------------------------------
2014-08-21 13:55:10
5360
原创 硬件时钟--DS1307时钟芯片
模拟I2C通讯控制DS1307读写硬件时钟#include "global.h"#include "drv_ds1307.h"#define I2C_CLK_PORT GPIOB#define I2C_CLK_PIN GPIO_PIN_4#define I2C_SDA_PORT GPIOB#define I2C_SDA_PIN
2014-08-20 17:47:44
3030
1
原创 触摸按键--模拟I2C驱动TS12芯片
TS12芯片驱动使用模拟I2C驱动TS12完成触摸按键检测功能:#include "stm8s.h"#include "global.h"#include "drv_key.h"uint8_t KeyByte;/*******************************************************************************//
2014-08-20 12:40:31
1736
1
原创 LCD显示--TM1721芯片驱动程序
#include "global.h"#include "drv_tm1721.h"#include "drv_key.h"/*-------------------------------------------*//*驱动包含函数: *//*-------------------------------------------*
2014-08-20 12:32:42
4467
原创 基于H.264协议的视频传输系统中遇到的问题以及解决办法
问题1、视频压缩解码模块在运用的时候出现错误:解码器再解码第二帧视频图片的时候出现异常client: ../../decoder/T264dec.c:594:T264dec_decode_nal: Assertion `0' failed.Aborted 对于该问题的分析及解决过程为:1、 修改数据类型,所有缓存区改为unsigned char类型(原来统一为char 类型)
2014-05-15 23:42:52
4984
原创 利用busybox制作根文件系统
我的系统是Ubuntu 10.04 开发板为EVM3730 交叉编译器为arm-linux- none-gnueabi- gcc 4.3.3一、busybox 配置安装1、从http://www.busybox.net/ 下载最新 busybox-1.21.1.tar.bz22、tar xjvf busybox-1.7.0.tar.bz2解包 3、修改Makefile文件 A
2013-12-01 21:55:06
1942
原创 OMAP3730开发板uboot学习以及nfs网络启动根文件系统
首先,贴出NAND 256MiB 地址空间中的内容。NAND device: Manufacturer ID: 0x2c, Chip ID: 0xba (Micron NAND 256MiB 1,8V 16-bit)[ 17.450469] Creating 5 MTD partitions on "omap2-nand.0":[ 17.455841] 0x000000000000
2013-11-29 19:51:04
2551
转载 Linux errno 错误对照表
本文转自 :http://blog.csdn.net/gpengtao/article/details/7553307errno 在 中定义,错误 Exx 的宏定义在 /usr/include/asm-generic 文件夹下面的 errno-base.h 和 errno.h,分别定义了 1-34 、35-132 的错误定义。strerror() 函数依据 errno 值返回错误描述字
2013-11-17 21:00:01
2474
原创 关于YUV420P、YUYV、RGB 图像格式的转换总结
BMP格式 头信息结构体: typedef struct tagBITMAPFILEHEADER{ WORD bfType; // the flag of bmp, value is "BM" DWORD bfSize; // size BMP file ,unit is bytes DWORD
2013-10-23 16:38:58
7938
7
转载 Linux下计算程序运行时间的两种方法
转自:http://hi.baidu.com/starflier/item/14057315de8fb8cc38cb30bb有时候我们需要计算程序运行的时间,比如我们要对算法进行效率分析,分析它的时间复杂度,需要分析时间。在linux下有下面两种计算程序运行时间的方法:方法一:#include int gettimeofday(struct timeval
2013-09-23 16:36:59
3131
原创 H.264视频压缩编码库使用心得
H.264压缩编码库的输入图片帧格式为yuv420pT264中的帧分两种,一种是包含扩展边界的帧,另一种不包含扩展边界的帧typedef struct{ uint8_t* Y[4], *U, *V; /Y[0]存储一帧图像的Y分量的数据,U,V分别存储另外两个分量的值, Y[0]整像素指针, Y[1]右半像素 Y[
2013-09-22 21:42:38
197
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人