自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(50)
  • 资源 (6)
  • 收藏
  • 关注

原创 指针与数组

环境:vc6.0   32位一、一维数组与指针       一维数组相对比较简单,如int a[5]={1,4,7,10,13};       同时定义一个整型指针:int *p;       将指针指向一维数组:*p=a;//a表示数组的首地址      下面来看一段代码:   //一维数组与指针 int a[5]={1,4,10,16,21}; int *p=a;

2015-10-03 16:32:47 819

原创 strlen与sizeof的区别

一、strlen与sizeof的区别:    1、strlen计算字符串的具体长度(只能是字符串),不包括字符串结束符。返回的是字符个数。    2、sizeof计算声明后所占的内存数(字节大小),不是实际长度。    3、sizeof是一个取字节运算符,而strlen是个函数。    4、sizeof的返回值=字符个数*字符所占的字节数,字符实际长度小于定义的长度,此时字符个数就

2015-08-11 14:52:57 6976 1

原创 typedef函数指针与函数类型的定义及使用方式

1、先给出一道面试题:#include "stdafx.h"#include "stdio.h"//实现数值的自增1int inc(int a){ return(++a);}//实现数值的相乘int multi(int*a,int*b,int*c) { return(*c=*a**b);} //函数声明//用FUNC1类型定义一个只带有一个int类型的形参,返回值为

2015-08-10 21:17:31 4863

转载 c语言参数传递方式

原文链接:http://c.biancheng.net/cpp/html/494.html一、三道考题开讲之前,我先请你做三道题目。(嘿嘿,得先把你的头脑搞昏才行……唉呀,谁扔我鸡蛋?)考题一,程序代码如下:void Exchg1(int x, int y){   int tmp;   tmp = x;   x = y;   y = tmp;   p

2015-08-07 15:33:36 1007

原创 论文参考文献

参考文献注意点:1、如果有多个作者,中间的逗号是英文半角下的。所有的符号都是英文半角下的,包括逗号,句号,冒号,括号,为了显得不那么拥挤,可以中间来一个空格符(英文半角情况下的)。可以在百度学术上搜索文章名称,然后点击引用,就可以实现出现引用的格式。[5] 王琼华 ,邓芳. 集成成像3D拍摄与显示方法[J]. 液晶与显示, 2014, 29(2):156-157.2、对于出现超

2015-07-24 10:17:50 3347

转载 strcpy函数与strncpy的区别

1. strcpy函数:顾名思义字符串复制函数:原型:extern char *strcpy(char *dest,char *src); 功能:把从src地址开始且含有NULL结束符的字符串赋值到以dest开始的地址空间,返回dest(地址中存储的为复制后的新值)。要求:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。  一般函数原型实现方式:  c

2015-06-23 18:37:20 599

原创 gets、getchar、getch、scanf函数的区别

1、gets函数表示从标准输入输出流stdin读取一整行,以(\n或EOF)为标志位。出错或结束时返回NULL。行末尾的'\n'也会被读取出来,但是不会被写入。gets不检查写入数组的大小。

2015-06-20 10:09:05 2391

原创 输入一个字符串,字符串中含有字母、逗号、空格,实现将输入字符中的逗号,空格号去除,字母分行显示

// test016.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include "stdio.h"int main(int argc, char* argv[]){char put[300]={0};int i=0;int j=0;

2015-04-27 15:00:01 5659

原创 二维字符串数组的输入、输出方式 以及冒泡法排序

1、以下代码中包含二维字符串数组的输入及输出方式  以及冒泡法// test009.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include "stdio.h"#include "string.h"int main(int argc, char* argv[]){

2015-04-21 17:55:44 8024

原创 二维数组的初始化

代码如下:#include "stdafx.h"#include "stdio.h"int main(int argc, char* argv[]){double date[11][5]; double x=0.0; int i=0; int a=11; printf("\n\tx\t1/x\tx2\tx3\tx4\n\n"); for(i=0;i<a;i++) {

2015-04-20 16:40:38 939

原创 vc中回车键按下后会跳过scanf的解决方法

/*计算器循环代码*/#include#includeint main(void){ double number1=0.0; double number2=0.0; char operation=0; /*操作数必须为'+'、'-'、'*'、'/'、'%'*/ char re=0; ret: { printf("请输入计算式:\n");

2015-04-16 16:06:10 1249

原创 MFC控件大小及控件字体跟随对话框的改变而改变

1、创建一个基于对话框的windowdemoMFC应用程序。2、下载并在windowdemoDlg.h添加easysize.h头文件。在类构造函数中添加DECLARE_EASYSIZE、CRect  m_rect、CFont  m_Font、x、y//#include "easysize.h"#pragma once// CwindowdemoDlg 对话框class

2015-01-30 14:38:47 1362

原创 主方法main函数输入参数在dos下的实现

1、带参数的简单除法运算代码:public class Exceptiontest { public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("------计算开始------"); int i=0; int j=0;

2015-01-26 09:20:56 1184

原创 C语言数值交换方法总结

1、由于C语言是以传值的方式传递将参数值传递给被调函数,也就是说传递函数不能直接修改主调函数中的值。如以下的swap()函数则无法实现数值的交换。void swap(int x, int y) /* WRONG */ { int temp; temp = x; x = y; y = temp; }2、正确的方式如下,转换

2015-01-07 17:43:12 1197

原创 (*p)++和*(p++)和*p++的区别

测试的代码如下:#include "stdafx.h"#include "stdio.h"#include int _tmain(int argc, _TCHAR* argv[]){ int a[50]={0,0,0,0}; int *p; p=a; int k1,k2,k3; //测试第一部分 printf("%d\n",p); *p++=10; printf("%d

2015-01-07 15:49:19 10510 2

转载 atoi()函数原型与itoa()函数原型

1、atoi函数原型:#includeusing namespace std;int atio1(char *s){int sign=1,num=0; if(*s=='-') sign=-1; s++; while((*s)!='\0') { num=num*10+(*s-'0'); s++; }

2015-01-07 15:39:56 6903

转载 break,continue,return

循环语句中常常出现bark,continue,rturnl来配合自己的循环来达到某种需求.一。break    1. break语句形式: break;    2. break语句功能:       A. 在switch语句中,break是其语法本省的一部分,break语句会终止其后语句的执行,退出switch语句。       B. 使一个循环立即结束,也就是说在循环中遇

2015-01-06 16:20:32 571

原创 20、DS18B20实验

1、实现对外部温度的采集。2、严格按照时序来写程序。分析一些代码://等待DS18B20的回应//返回1:未检测到DS18B20的存在//返回0:存在u8 DS18B20_Check(void)   {   u8 retry=0;DS18B20_IO_IN();//SET PA0 INPUT     while (DS18B20_DQ_IN&&retry

2014-12-25 19:07:47 1661

原创 17、SPI实验

1、SPI  是英语 Serial Peripheral interface 的缩写,顾名思义就是串行外围设备接口。是 Motorola首先在其 MC68HCXX 系列处理器上定义的。 SPI 接口主要应用在  EEPROM, FLASH,实时时钟,AD 转换器,还有数字信号处理器和数字信号解码器之间。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片

2014-12-20 13:35:33 2781

原创 16、IIC通信协议

1、IIC简介    IIC即Inter-Integrated Circuit(集成电路总线),它由飞利浦设计于80年代设计出来的,是一种半双工通信方式。(SPI是全双工方式)它是由时钟线SDA与数据线SCL构成串行总线。可以在IC与IC、IC与CPU之间进行双向传送。主机按照一定的通信协议给从机进行地址寻址及信息传输,其中数据的传输方向及传输地址都是有主机决定的。其典型的物理结构方式如下图所

2014-12-19 10:55:59 1957

原创 14、DAC实验

1、学习如何配置使用STM32的DAC。2、注意点就是在使用过程中间PA4设置为模拟输入,这样可以避免干扰,原因是在使能DAC之后,端口就会被配置为模拟输出。

2014-12-18 19:12:53 703

原创 13、内部温度传感器

1、将ADC1的数据接收通道设置为与内部温度传感器连接的通道(ADC_Channel_16 ),其他的设置与外部模拟量的采集设置类似。2、代码中有两个函数,这两者的作用其实是一致,都是获取获取到内部温度传感器的值,只是一个可以设置采样精度,另一个固定了采样的精度(10)。//得到ADC采样内部温度传感器的值//取10次,然后平均u16 T_Get_Temp(void){

2014-12-18 16:27:06 1076

原创 12、ADC实验

1、实验通过单通道转换实现模拟量转换为数字量。2、注意AD转换的算法:      STM32的AD转换芯片是12位,基准电压为3.3V,如果是从0~4095。则根据采样的电压=计数器的值*(3.3./2^12-1),代码中的数值改为4095更佳。      同时进行小数位的读取,可以参照以下的方法进行,adcx是个整型变量。      while(1){adcx=Get_A

2014-12-18 15:13:41 5228 2

原创 11、待机唤醒实验

1、这个章节主要讲述了如何配置STM32功耗最低的待机模式,且以wk_up的上升沿作为它的唤醒方式。2、如果是正常运行,先执行中断程序。 如果是待机状态,则先复位并初始化。     程序的主要流程是初始化到WKUP_Init()函数,在之内的死循环中等待按键按下的消息到来,只有这样,程序才可以执行下去到点亮LCD。如果没有按键按下程序就一直处于      待机的状态。(因为在WKUP_

2014-12-18 10:20:46 971

原创 10、RTC实时时钟实验

1、实时时钟(RTC)是STM32一个独立的定时器,可以提供日历功能;2、想要对实时时钟进行配置,必须进行相关寄存器的操作,大体的流程包括:通过设置寄存器 RCC_APB1ENR 的 PWREN 和 BKPEN 位来打开电源和后备接口的时钟 及电源控制寄存器(PWR_CR)的 DBP 位来使能对后备寄存器和 RTC 的访问。3、RTC分频则用到RTC_PRLH与RTC_PRLL这两个寄存器,其中R

2014-12-17 20:02:55 4071

原创 7、OLED实验、8080、SPI

1、学习 SSD1306 型OLED的使用,区别8088与080 接口以及 4 线 SPI接口的写数据与命令的区别。2、8080 并行接口的发明者是 INTEL,该总线也被广泛应用于各类液晶显示器,ALIENTEK OLED 模块也提供了这种接口,使得 MCU 可以快速的访问 OLED。ALIENTEK OLED 模块的 8080 接口方式需要如下一些信号线:CS:OLED 片选信号。

2014-12-14 15:07:54 11371 1

原创 6、输入捕获实验

注意点:1、在学习的过程中我们使用到与串口实验相类似的一个寄存器(本质是一个变量),用来处理不同的情况,在今后的学习也可以使用这种方法,这种寄存器的组成如下图所示:             2、确定捕获到一个完整高电平的软件实现(包括如果处理接收到的高电平持续时间过长的情况)void TIM2_IRQHandler(void){ if((TIM2CH1_CAPTURE_ST

2014-12-14 11:13:23 5375 2

原创 5、PWM输出实验

1、主要思路:通过控制TIM1的端口输出PWM波形来实现对LED灯的亮暗控制。2、注意点:TIM1的频率=Tclk/(arr+1)     Tclk:TIMx的输入时钟频率    arr:设置在下一个更新事件装入活动的自动重装载寄存器周期的值                         设置占空比:占空比计算方法:TIMx_CCRx的值除以ARR寄存器的值即为占空比,因为占空比在0—1

2014-12-12 11:25:39 1175

原创 4、定时器中断实验

1、思路:通过设定定时器3的溢出中断,实现对LED灯的闪烁控制。2、主要过程:由于在实验过程中使用到的是刷新(溢出)中断,所以我们要开启计数器计数使能,刷新中断使能,设定分频因子、分频系数、计数类型等。3、注意点:分频系数(psc):用于对计数器时钟进行分频,它的数值可以在1-65535取值。计数器的时钟频率(CK_CNT)等于fCK_PSC/( PSC[15:0]+1)。

2014-12-11 16:57:09 1779

原创 3、看门狗实验

1、看门狗作用:配置后用于防止程序进入死循环,喂狗时间到了之后就重启整个程序,所以整个过程中想要程序正常进行就必须进行不断的喂狗。2、看门狗配置过程:先取消寄存器的写保护、设置看门狗的预分频系数与转载值、重载计数值喂狗、最后启动看门狗。

2014-12-10 16:31:20 1656

原创 2、串口实验

1、串口通信:也就是常说RS232通信,通信主要由三根线完成                          构成:地线、接收数据线RX、发送数据线TX                          通信方式:异步,也就是可以同时发送与接收                          配置方式:通信中重要的参数是波特率、数据位、停止位和奇偶校验位,对于两个进行通讯的串口,这

2014-12-09 19:54:48 1550

原创 1、按键实验

1、思路:通过设置相应的端口为输入模式,再通过while语句来循环读取按键值,如果按键有按下,则做出响应,控制LED灯的亮与灭。2、过程:在建立的工程文件HARDWARE子文件夹中添加一个文件名为KEY的文件夹,在里面新建好key.c,key.h两个文件。之后就再添加到工程中,(刚开始的时候找不到key.h,可以编译之后就可以在下面的子目录找到)。由于是端口的使用,所以开始设定端口的模式且使能

2014-12-08 20:56:10 2370

转载 几种输入输出方式的区别

有关上拉输入、下了输入、推挽输出、开漏输出、复用开漏输出、复用推挽输出以及、浮空输入、模拟输入区别         最近在网上看见一些人对STM32的八种方式的解释,说了一大堆,最后看完了 也不知道讲了什么,为了方便大家一目了然,本人总结如下,希望对大家有帮助。 1、上拉输入:上拉就是把电位拉高,比如拉到Vcc。上拉就是将不确定的信号通过一个电阻嵌位在高电平!电阻同时起限流

2014-12-08 19:30:28 3757

原创 mfc打开并显示指定文件

介绍两种方法:1、ShellExecute(NULL, _T("open"), _T("帮助.txt"), NULL, NULL, SW_SHOW);//打开名为帮助的文档,但是这种方式存在一些兼容性问题。2、 WinExec函数:      //获取当前目录下的帮助文档        int lenth = 100;        char Glb_Curdir[100];/

2014-11-26 10:00:33 1663

原创 编辑框数值的读取与显示

1、编辑的框的ID为IDC_PATTERN2;那么就可以用以下的方式读取到该编辑框的输入值:

2014-11-20 16:30:30 1126

转载 sqlite3的使用

1、数据库的创建方法一:

2014-11-14 11:28:46 592

原创 CComboBox类使用总结(sqlitetest)

1、在单文档创建一个组合框,具体步骤如下:

2014-11-14 09:23:03 708

转载 ATM机简单功能的实现(vs2010环境)

可以实现简单的存取款的

2014-10-16 10:29:52 964

转载 EDID参数介绍

1、显示器的第24个字节是设置显示器的电源管理标准的。 各个位的作用如下,注意到标号为1的位是关于主画面。3、Gamma源于CRT的响应曲线,即反映显像管的图像亮度与输入电子枪的信号电压的非线性关系的一个参数。对于CRT显示器而言,显像管电子枪发出的电子束及其生成的图像亮度并不是随显像管的输入电压线性变化,电子流与输入电压相比是按照指数曲线变化的,输入电压的指数要大

2014-10-15 18:44:22 10554

原创 Richedit控件字符格式及字体颜色的实现

1、Richedit中控制字符的格式:       通过调用

2014-10-15 18:32:56 5523

改进的cv图像分割

改进的cv图像分割,对学习cv模型有帮助

2015-05-08

fastica图像分离

可是实现图像的混合、分离,效果良好,对学习fastica有很好的帮助。

2015-04-15

角点检测代码

代码计算出图像的角点并给出具体的角点坐标

2015-04-15

CV图像分割

从pud找到的CV图像分割代码,代码的通过较少的迭代次数就可以实现图像的分割,对学习CV分割有帮助。

2015-04-15

vs2010 键盘钩子代码

实现对键盘按键的读取。编译时重现设置下lib文件的路径。

2014-09-25

基于T35的中文短信息发送代码

基于T35的中文短信息发送代码,可以实现字符串的接受。

2013-05-04

空空如也

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

TA关注的人

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