自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 资源 (2)
  • 收藏
  • 关注

原创 (void*)&a 以及void字义全面解释

(void *)&a语句什么意思void 基本上有以下两个意思:  1.无,没有  2.任意类型  这两个意思,与void出现的代码位置和修饰变量相关:  函数返回值位置,如:  void func(int i) ; //表示func()函数没有返回值,void不可省  函数参数位置,如:  void func( void ) ; //表示f

2016-10-26 10:50:16 4123

原创 STM32----------芯片ID

STM32F10xxx系列为每块芯片都提供一个96位的独一无二的ID供用户控制使用。96位的独特ID位于地址0x1FFFF7E8 ~ 0x1FFFF7F4的系统存储区,由ST在工厂中写入(用户不能修改),用户可以以字节、半字、或字的方式单独读取其间的任一地址。u32 Dev_Serial0, Dev_Serial1, Dev_Serial2;Dev_Serial0 = *(vu32*)

2016-02-24 15:02:49 1341

原创 J-Link JTAG/SWD接口

2016-02-23 16:13:45 287

原创 STM32----------ADC和DMA(附:完整USART输出程序)

12位ADC是一种逐次逼近型模拟数字数字转换器。它有多达18个通道,可测量16个外部和2个内部信号源。ADC的输入时钟不得超过14MHZ,它是由PCLK2经分频产生。如果被ADC转换的模拟电压低于低阀值或高于高阀值,AWD模拟看门狗状态位被设置。ADC通常要与DMA一起使用 这里只是简单的用库配置ADC 不断扫描来实现ADC的应用。Injected Channels 为注入组,Re

2016-01-24 19:36:55 3504

原创 STM32的SYSTICK详解

http://www.51hei.com/bbs/dpj-31803-1.html

2016-01-20 13:55:47 353

原创 STM32---------- PWM(Pulse Width Modulation,利用TIM定时器)

调试芯片:STM32F103C8T6外部晶振:8MHz功能介绍:使用Timer3实现两路(可四路)PWM波形的输出代码如下:    初始化:系统时钟初始化,GPIO端口初始化,Timer初始化系统时钟初始化:/* 配置系统时钟为72M */ SystemInit(); GPIO端口初始化:/*********************

2016-01-18 19:01:20 2762

原创 STM32---------- I2C

I2C主模式接收(Receiver)过程:  (注意事件为EV7)          I2C主模式发送(Transmitter)过程:  (注意事件为EV8)          先发一个起始信号S ,再发一个地址,接着等待一个回应A ,然后发数据,再回应(在发完一个S后,要等待一个事件EVENT,比如while(!I2C_CheckEvent(I2C2,I2C_EVEN

2016-01-14 21:44:23 1049

原创 linux(ubuntu)单片机用网线ping 不通电脑(已解决)

今天,用一根网线把电脑和pcduino v3开发板进行用网线连接,然后将电脑的本地连接IP(将pcduino和电脑用网线连接后会出现本地连接)设置为192.168.1.123  并将 pcduino的IP 设置成192.168.1.1 (在终端利用ifconfig  eth0 192.168.1.1命令),这样电脑和pcduino在同一个网段内(同为192.168.1  ),但是无论在电脑cm

2016-01-12 21:46:08 2234

原创 STM32----------SPI(Serial Peripheral Interface)

SPI(Serial Peripheral Interface,串行外设接口)是Motorola公司提出的一种同步串行数据传输标准,在很多器件中被广泛应用。1. 接口SPI接口经常被称为4线串行总线,以主/从方式工作,数据传输过程由主机初始化。如图1所示,其使用的4条信号线分别为:1) SCLK:串行时钟,用来同步数据传输,由主机输出;2) MOSI:主机输出从机输入数据线;3

2016-01-07 15:52:00 1299

原创 STM32----------重映射

以 USART 为例:重映射步骤为:1.打开重映射时钟和USART重映射后的I/O口引脚时钟,           RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_AFIO,ENABLE);2.I/O口重映射开启.                   GPIO_PinRemapCo

2016-01-06 16:01:58 298

原创 STM32----------通用定时器

http://blog.csdn.net/yx_l128125/article/details/7879506   http://bbs.ednchina.com/blog_index.jspa?blog_id=2000403&entry_month=&viewall=true&curr_page=1&sort=0(这篇文章也不错)STM32 的定时器功能十分强大,

2015-12-31 16:45:20 695

原创 STM32----------串口通信(USART)

#include "stm32f10x.h"#include "platform_config.h"#include "stm32f10x_usart.h"#include "misc.h"#include "stdarg.h"USART_InitTypeDef USART_InitStructure;uint8_t TxBuffer1[] = "USART Interrupt Ex

2015-12-24 15:27:18 1339

原创 STM32 ----------编译等问题总结

error: #268: declaration may not appear after executable statement   变量的声明,不能放在可执行语句的后面,必须在主函数开头声明变量!在程序中申明一个变量时,会出现以上错误。出现编译错误的函数如下:void Scan(void){     GetStart();     u8 ii;      wh

2015-12-23 17:11:33 313

原创 STM32----------AFIO

也许你以为IO和AFIO是很简单的,事实上有几个误区可能很多人都没注意过,当你只用现成的开发板来学习的时候,别人已经帮你做好了资源分配,所有的外设功能学习都是照着别人给你的例程去做的,这才没让你觉得奇怪。先问自己一个问题:STM32中,USART2和TIM2是共用相同IO的,你如何决定这几个IO到底是做USART2还是做TIM2呢?如果你要同时使用USART2和TIM2,该怎么办?

2015-12-23 14:51:11 381

原创 STM32----------NVIC和EXTI

注意:     NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQn ;          (3.5版本库已经由TIM2_IRQchannel   改为     TIM2_IRQn)NVIC——Nested VectoredInterrupt Controller(嵌套中断向量控制器)STM32有43个channel的settable的中断源:AIR

2015-12-21 11:10:07 1453

转载 #pragma 预处理指令详解

#pragma  预处理指令详解              在所有的预处理指令中,#pragma 指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。#pragma指令对每个编译器给出了一个方法,在保持与C和C++语言完全兼容的情况下,给出主机或操作系统专有的特征。依据定义,编译指示是机器或操作系统专有的,且对于每个编译器都是不同的。

2015-12-14 11:14:11 254

转载 malloc函数及new函数

一、原型:extern void *malloc(unsigned int num_bytes);头文件:#include 或 #include (注意:alloc.h 与 malloc.h 的内容是完全一致的。)功能:分配长度为num_bytes字节的内存块说明:如果分配成功则返回指向被分配内存的指针,否则返回空指针NULL。当内存不再使用时,应使用free(

2015-12-08 11:27:09 346

原创 C++中compare,assign ,itoa,c_str等字符串函数的使用

compare()比较函数#include #include #include using std::cout;using std::endl;using std::cin;using std::string;int main(void){ string str1="hi,test,hello"; string str2="hi,test"; //字符串比较

2015-12-04 15:36:40 527

原创 linux下的socket网络编程

事实上,在socket的通用address描述结构sockaddr中正是用这样的方式来进行地址描述的:struct sockaddr{    unsigned short sa_family;    char sa_data[14];};这是一个16字节大小的结构(2+14),sa_family可以认为是socketaddress family的缩写,也可能被简写成AF(A

2015-12-04 09:29:22 294

原创 pcduino v3 的按键模块加载

在pcduino v3 的wif模块下方有3个按键,是给Android系统准备的,在Ubuntu里面不怎么用    pcDuino3C所烧入的新固件(pcDuino3也通用)加上了这3个按键的驱动。   $ lsmod 查看已经加载的模块     如果该keypad 模块没有加载的话,去模块所在的路径加载模块.模块路径如下$ cd /lib/modules/3.4.

2015-12-03 10:26:05 277

原创 在pcDuino v3下编译安装openCV的注意问题

1、编译到一半时出现 fatal error:can’t writePCH file: No space left on device 【问题分析】根据错误提示可知,是磁盘空间不足啦。因为pcDuino V3只有4GB nandflash空间,而编译出来的openCV占用空间非常大,所以出现该问题。【问题解决】在扩展的TF卡上编译。2、接上个问题。编译出现错误:

2015-12-01 15:03:23 370

原创 pcduino v3 开启 wifi AP 时的注意事项

开启pcduino v3  的 无线 AP模式 ,折腾了一个周,最终搞定了     最开始我参考的帖子是http://cnlearn.linksprite.com/?p=7667#.VlXDIdJpiYk     但后来发现我的isc-dhcp-server  服务 开启失败    现在用 # dhcpd -t 命令检查你写的dhcp有没有语法错误,我发现我的错误是8.8.8.8那

2015-11-26 10:18:46 491

原创 pkg-config使用方法

1 pkg-config介绍pkg-config用来检索系统中安装库文件的信息。典型的是用作库的编译和连接。如在Makefile中:program: program.c     cc program.c `pkg-config --cflags --libs gnomeui`pkg-config --list-all  

2015-11-26 09:45:14 382

原创 pcduino v3(ubuntu)右下角的wifi小扇形不见了(已解决)

最近几天在pcduino v3 上准备开启wifi AP模式,但再删除原来的驱动后,新的驱动安装后也不能用,连右下角的小扇形也没有了,现在找到了方法1. 编辑/etc/NetworkManager/NetworkManager.conf:sudo vi /etc/NetworkManager/NetworkManager.conf将其中的managed=false改

2015-11-24 12:51:21 645

原创 linux编译使用链接库

GCC 命令行详解 -L 指定库的路径 -l 指定需连接的库名为什么会出现undefined reference to 'xxxxx'错误?首先这是链接错误,不是编译错误,也就是说如果只有这个错误,说明你的程序源码本身没有问题,是你用编译器编译时参数用得不对,没有指定链接程序要用到得库,比如你的程序里用到了一些数学函数,那么你就要在编译参数里指定程序要链接数学库,方法是在编译命

2015-11-23 14:27:12 424

原创 pkg-config的用法

pkg-config程序是干什么用的?简单的说就是向用户向程序提供相应库的路径、版本号等信息的程序。譬如说我们运行以下命令:pkg-config  查看gcc的CFLAGS参数$pkg-config --libs --cflags opencv会显示如下信息:-I/usr/include/opencv -lcxcore -lcv -lhighgui -lcvau

2015-11-23 13:04:32 309

原创 linux下查询系统及库文件位数

查询系统位数  getconf   LONG_BIT查询 库文件readelf -h libopencv_calib3d.so  (在当前目录下)                      第一行 Class:                             ELF32             显示为32位

2015-11-23 11:43:05 434

原创 linux交叉编译环境

$ sudo su # vim /etc/bash.bashrc 在最后加上:                export PATH=$PATH:/usr/arm-2009q3/bin                export PATH 启动环境变量设置:                #source /root/.bashrc 检查是否设置成功:

2015-11-18 15:24:38 241

原创 Mat imread 与 IplImage cvLoadImage区别

1- Mat and Imread2- IplImage and CvLoadImage    Which one is better to use?A : They are the two different interfaces (Mat/imread for C++ and Ipl... and Cv.. for C interface). The C++ interface

2015-11-17 14:01:08 581

原创 Mat imread 与 IplImage cvLoadImage区别

1- Mat and Imread2- IplImage and CvLoadImage    Which one is better to use?A : They are the two different interfaces (Mat/imread for C++ and Ipl... and Cv.. for C interface). The C++ interface

2015-11-17 13:59:18 407

原创 搭建pcduino交叉编译环境

首先,要下载kernel和U-Boot源码   git clone https//:github.com/pcduino/kernel.git   接着,下载编译内核所需要的工具    sudo apt-get install git bison flex gettext texlive ccache zlib1g-dev gawk libncurses5-dev uuid-dev t

2015-11-06 16:47:35 558

原创 typedef用法详解

用途一:定义一种类型的别名,而不只是简单的宏替换。可以用作同时声明指针型的多个对象。比如:char* pa, pb;//这多数不符合我们的意图,它只声明了一个指向字符变量的指针, 和一个字符变量;以下则可行:typedef char* PCHAR;PCHAR pa, pb;  这种用法很有用,特别是char* pa, pb的定义,初学者往往认为是定义

2015-11-05 13:08:33 398

原创 C/C++编译出现error: stray ‘\342’ in program

昨天在写opencv的程序时,编译出现下面状况                exbot@ubuntu:~/Downloads/opencv/opencv-2.4.9/samples/xcx$ ./build.sh                camtest.cpp:44:1: error: stray ‘\342’ in program                camtest

2015-11-05 09:54:46 5271 2

原创 Ubuntu下对opencv程序编译方式:cmake和sh脚本

sh脚本方式:       1、在写完test.c 后,gedit 新建一个 build.sh 脚本,内容如下:                      #!/bin/shgcc `pkg-config –cflags opencv` -o test test.c `pkg-config –libs opencv`            2、保存退出后,进行$chmod +x

2015-11-03 12:57:16 1086

原创 Ubuntu12.04下安装opencv2.4.9

从昨天开始在Ubuntu里安装opencv2.4.9,网上有许多教程,步骤大体都是一样的,先要安装一些依赖包,这里我就不再赘述了,主要是后面几步网上给的并不详细,我这里再说一些注意事项:(1)我把opencv的压缩文件(无论你的是tar.gz还是zip格式)放到了Downloads目录下了,网上并没有说要放到哪个目录下,应该最好放到usr目录下吧           然后解压(2)解压

2015-10-27 09:57:20 316

原创 Ubuntu解压缩zip,tar,tar.gz,tar.bz2文件

ZIPzip可能是目前使用得最多的文档压缩格式。它最大的优点就是在不同的操作系统平台,比如Linux, Windows以及Mac OS,上使用。缺点就是支持的压缩率不是很高,而tar.gz和tar.gz2在压缩率方面做得非常好。闲话少说,我们步入正题吧:我们可以使用下列的命令压缩一个目录:# zip -r archive_name.zip directory_to_comp

2015-10-26 16:26:50 302

原创 Ubuntu关于build-essential

Ubuntu缺省情况下,并没有提供C/C++的编译环境,因此还需要手动安装。如果单独安装gcc以及g 比较麻烦,幸运的是,为了能够编译Ubuntu的内核,Ubuntu提供了一个build-essential软件包。命令:apt-get install build-essential  或者  aptitude install build-essential其中a

2015-10-26 14:44:02 1230

原创 数组名与指针,及数组退化

我们都知道,在C语言中,数组名和指针有多很相似之处, 例如二者均可用于指针赋值,均可通过下标的形式来访问元素等,这常常会令到我们有一种“数组名就是指针”的感觉。 尽管有不少C语言教程上就是这么认为的,但是果真如此吗?也许你考虑到数组名不能被赋值后,会补充说“数组名是只读的指针”,但这仍然与事实有一定的差距。那么,数组名与指针究竟有什么不同呢?  1.数组名的实质

2015-10-16 11:05:50 331

原创 QImage 图像格式小结

图像的数据是以字节为单位保存的,每一行的字节数必须是4的整数倍,不足的补0。(因为我们使用的是32操作系统,因此数据是按照32位对齐的,所以每行的字节数必须是4的整数倍也就是说每行的数据位必须是32位的整数倍。)这里是按照我的理解的,貌似错了,修正一下,最近在看数据对齐,这段话先忽略了,没有删掉,是因为,想留个足迹,等我找到合适的答案再贴上来。不过,图像的数据确实是按32位对齐的。如果不是

2015-10-16 09:42:38 495

原创 QImage 图像格式小结

图像的数据是以字节为单位保存的,每一行的字节数必须是4的整数倍,不足的补0。(因为我们使用的是32操作系统,因此数据是按照32位对齐的,所以每行的字节数必须是4的整数倍也就是说每行的数据位必须是32位的整数倍。)这里是按照我的理解的,貌似错了,修正一下,最近在看数据对齐,这段话先忽略了,没有删掉,是因为,想留个足迹,等我找到合适的答案再贴上来。不过,图像的数据确实是按32位对齐的。

2015-10-16 09:41:45 278

sam-ba 2.16最新版本

2016-12-27

基于opencv和PCA方法的人脸识别系统

在QT环境下,利用opencv和PCA方法进行人脸识别

2015-09-30

空空如也

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

TA关注的人

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