- 博客(61)
- 资源 (8)
- 收藏
- 关注
原创 vc Clistctrl中如何添加图片
m_pImage.Create(32, 32, ILC_COLOR32 ,0 , 2 );//创建图表 m_pImage.Add(AfxGetApp()->LoadIcon(IDI_BENZ));//添加图标到图标 m_pImage.Add(AfxGetApp()->LoadIcon(IDI_BWM)); m_pImage.Add(AfxGetApp()->LoadIcon(IDI_V
2012-08-25 09:47:24
1939
转载 VC的路径
要了解vc中使用#include命令包含头文件所搜寻的路径,必须先了解vc中的几种路径:1. 系统路径系统路径在vc中是"Tools->Options->Directories"中"Include files"指定的路径。打开此对话框会发现默认有这几条路径:C:\Program Files\Microsoft Visual Studio\VC98\INCLUDEC:\Progr
2012-08-21 08:54:03
1917
原创 stm32(三) STM32(STM32F217XX) 分段程序下载以及其运行原理
1.在STM32中经常出现IAP下载,我们通常采用的策略是把程序分成两段。 (A段)运行其主程序并且判断是否需要进行IAP下载,以及IAP下载的程序。 (B段)用户的程序。也可以说是通过IAP升级的程序。 通常我们把这两段程序分别存储在FLASH的不同的地址空间。 例如:STM32的flash的存储布局是: name bl
2012-07-19 21:55:40
4113
原创 stm32(二) stm32中断优先级的设置
stm32优先级 1.优先级等级: STM32用户能分配的优先级有16级,也就是用优先级寄存器NVIC->IP[x]的高四位来表示莫个中断的优先级。 2.优先级组: 在STM32中将一个中断的优先级分为:抢占优先级和子优先级。 在进行优先级判断的时候先是比较抢占优先级然后比较子优先级。 在固件库中用变量分别表示抢
2012-07-19 21:27:16
7892
翻译 stm32(一) STM32的时钟部分
1.系统时钟部分 1 STM32有五个时钟源:HSI、HSE、LSI、LSE、PLL 1.1 HSI:高速内部时钟、RC振荡器、频率为8MHz、时钟精度较差,可作为备用时钟源(时钟安全系统CSS)。 1.2 HSE:高速外部时钟、可接外部晶体/陶瓷谐振器(4MHz~16MHz)或外部时钟源(HSE旁路,Max 25MHz)。 1.3 LSI:低速内部时钟、RC振荡器、频率为40
2012-07-19 21:24:05
2309
原创 好的网站
一:源代码网站: http://www.codeforge.cn/read/193762/SerialPort.cpp__html;(VC,seriaiPort.cpp和SerialPort.h);二:vc在线学习 http://book.51cto.com/art/201008/216695.htm
2012-06-02 12:11:37
705
原创 LPC1768 IAP(一)
LPC1768 IAP (一) 一,iap编程时,把程序分为两段进行下载的知识点: 1.一段程序下载到flash后,在flash里面的存储结构是: 0x00000 堆栈的地址 0x00004 复位向量(指向复位操作的地址)
2012-05-30 21:23:42
3496
原创 孙鑫第7章 7.6 输入焦点的传递
在本章要掌握的函数:SetWindowLong(HWND hWnd,int nIndex,LONG dwNewLong);函数实现的功能是,改变窗口句柄的属性hWnd 是窗口句柄nIndex 改变窗口句柄的性质,例如可以改变窗口过程函数,窗口风格,。。。dwNewLong 改变后的性质返回的是当前(也就是没有改变的性质) //这是函数实现的实例WNDPROC p
2012-03-11 22:33:30
1049
原创 单向链表实现反转
前沿:用单向链表实现了队列的插入和删除操作。并且实现了队列的反串。#include #include struct Node{ int data; struct Node *next;};struct List{ struct Node *head; struct Node *rear; unsigned int NodeNumber;};b
2011-12-25 15:39:07
701
原创 vc中的不定参数
/*============================================不定参数的调试//不定参数的设置://1.包含的头文件:#include ,//2.定义不定参数列表:va_list args//3.不定列表的头:va_start(args,number);//4.获取不定列表里面的内容:data = va_arg(args,int)//5.结
2011-11-11 18:05:03
692
翻译 LPC 2368 中断
LPC2368中断系统1.32个中断源都对应中断控制器的每一位。 中断的几个要点: 1,使能中断。 2,中断地址。 3,清除中断。2.软件中断寄存器。VICSoftInt 通过软件设置对应的莫一位.来强制产生相应的中断。 3.软件中断清零寄存器:VICSoftIntClear 通过对相应位写1.清除软件中断寄存器的莫位 4.原始中断状
2011-11-06 14:36:26
2810
原创 VC下实现多项式的加减乘除
<br />#include"stdio.h"<br />#include "stdlib.h"<br />#define ERROR 99999<br />#define LFTE_BRACE 5<br />#define RIGHT_BRACE 6<br />#define END 7<br />float calc_two(char sybol,float number1,float number2);<br />/*----------------------------
2011-02-25 19:37:00
1146
原创 单向循环链表的建立
<br />#include<stdio.h><br />#include<stdlib.h><br />#define null 0<br />typedef struct node<br />{<br /> int number;<br /> struct node *next;<br />}student;<br />main()<br />{<br /> student *head,*p,*temp;<br /> int i;<br /> //-------建立链表头----------------
2011-02-11 21:42:00
6898
3
原创 用c语言实现数学多项式的计算
<br />#include"stdio.h" <br />#include"stdlib.h" <br />#include"calc.h"
2011-02-10 20:22:00
4492
原创 堆栈的操作
1,构造堆栈的结构体 typedef struct node { int data; node *link; }stack;2,进入堆栈的方法: push_stack(int s_data, stack **sttop) { stack *p = (stack *)malloc(sizeof(stack)); p->data = s_data; p->link = *sttop; *sttop = p; } 理解: 第一次调用3,出堆栈的方法 pop_stack(i
2011-01-27 22:49:00
782
原创 宏定义中的续行符
<br />宏定义中的续行符<br /> 宏定义规定,宏定义必须在一行里完成。所以用#define定义宏定义时,有时为了阅读方便,<br /> 就加续行符"/"来换行。在普通代码行后面加不加都一样(VC是自动判断续行的)。<br /> 例如:<br /> #define SomeFun(x, a, b) if(x)x=a+b;else x=a-b;<br /> 这一行定义是没有问题的,但是这样代码很不容易被理解,以后维护起来麻烦,如果写成:<br /> #define SomeFun
2011-01-15 10:33:00
1572
原创 linux驱动(网摘)
Linux驱动程序入门—Hello World 分类:linux<br />1、引言<br /> 记得在学习VC++和C语言的时候,一开始都会以一个HELLO WORLD的例子作为演示,将学者逐渐引入殿堂,这个几乎成了计算机编程语言学习必经的一个入门之路。<br /> 当然,在学习linux编程的时候也是这样,下面的例子应该是再熟悉不过了:<br /> 首先用VI编写一个C程序:vi hello.c<br /> #include "st
2011-01-11 21:53:00
509
原创 结构体内存对齐问题
原则,1结构体的首地址能够被最宽位数据数整除 2结构体每个成员相对于结构体首地址的偏移量都是成员大小的整数倍 3结构体的总大小为结构体最宽基本类型成员大小的整数倍。
2010-12-30 20:39:00
594
原创 小小程序
<br />#include<stdio.h><br />#include<stdlib.h> <br />main()<br />{<br /> int i=0;<br /> int num_weishu;<br /> int number;<br /> int number_switch;<br /> int *p=NULL;<br /> int j;<br /> printf("input a number ");<br /> scanf("%d",&number);<br /> num_wei
2010-12-29 22:06:00
552
原创 关键字static
<br /> 关于static<br /> 静态全局变量,作用域仅限于变量被定义的文件中,其他文件即使用extern 声明也没法用他。准确地说作用域是从定义之处开始,到文件结尾处结束,在定义之处前面的那些代码行也不能使用它。想要使用就得在前面再加extern ***。恶心吧?要想不恶心,很简单,<br />直接在文件顶端定义不就得了。<b
2010-12-23 22:40:00
521
原创 排序并计算
<br />/*************************************<br />本函数实现的功能是把:<br />数组,合并成一个最小的整数20,2,290,9<br />最后的结果是 2022909;<br />用到的算法有:<br />1,数值的转换方法<br />2,冒泡法排序<br />3,数值合并<br />************************************/<br /> <br />#include"stdio.h"<br />#include<stri
2010-12-22 23:00:00
543
原创 程序=算法+数据结构(1)
<br /> 折中法查找<br />#include <stdio.h><br />typedef short W_INT2;<br />typedef char BYTE;<br />W_INT2 dtc_state_find(BYTE *state, BYTE subdtc,BYTE length);<br />int main()<br />{<b
2010-12-21 19:08:00
619
原创 "Impossible" is "I’m possible"
这是一个发生在美国通用汽车的客户与该公司客服部间的真实故事。 有一天美国通用汽车公司的庞帝雅克(Pontiac)部门收到一封客户抱怨信, 上面是这样写的∶"这是我为了同一件事第二次写信给你,我不会怪你们为什么没有回信给我,因为我也觉得这样别人会认为我疯了,但这的确是一个事实。” “我们家有一个传统的习惯,就是我们每天在吃完晚餐后,都会以冰淇淋来当我们的饭后甜点。由于冰淇淋的口味很多,所以我们家每天在饭后才投票决定要吃哪一种口味,等大家决定后我就会开车去买。” “但自从最近
2010-12-05 21:42:00
1876
1
原创 解析/etc/inittab 文件(转)
<br />原文地址:http://hi.baidu.com/fembed/blog/item/62a509f01b2e69aaa40f528c.html<br />init程序需要读取配置文件/etc/inittab。inittab是一个不可执行的文本文件,它有若干行指令所组成。在Redhat系统中,inittab的内容如下所示(以“###"开始的中注释为笔者增加的): <br /><br /> # <br /> # inittab This file describes how the INIT p
2010-11-15 21:25:00
516
原创 插值法排序
<br />#include"stdio.h"<br />main()<br />{<br /> int i=0;<br /> unsigned int a[10] = {120,121,45,17,23,45,23,89,100,99};<br /> unsigned int b[10];<br /> int j;<br /> printf("input a array:/n");<br /> b[0]=a[0];<br /> for( i=1; i<10; i++)<br /> {<br />
2010-11-01 22:29:00
2349
原创 ARM汇编
<br />这两天参加了一个编写操作系统的项目,因为要做很多底层的东西,而且这个操作系统是嵌入式的,所以开始学习ARM汇编,发现ARM汇编和一般PC平台上的汇编有很多不同,但主要还是关键字和伪码上的,其编程思想还是相同的。现将一些学习感悟部分列出来,希望能给有问题的人一点帮助。 1、ARM汇编的格式: 在ARM汇编里,有些字符是用来标记行号的,这些字符要求顶格写;有些伪码是需要成对出现的,例如ENTRY和END,就需要对齐出现,也就是说他们要么都顶格,要么都空相等的空,否则编译器将报错。常量定义
2010-10-30 21:17:00
750
原创 arm的宏定义
<br />宏是一段独立的程序代码,它是通过伪指令定义的,在程序中使用宏指令即可调用宏。当程序被汇编时,汇编程序将对每个调用进行展开,用宏定义取代源程序中的宏指令。<br />MACRO、MEND <br /> 语法格式: <br />MACRO<br /> [$ label] macroname{ $ parameter1, $ parameter,…… }<br /> 指令序列 <br /> MEND <br /> MACRO伪操作标识宏定义的开始,M
2010-10-26 22:41:00
4473
1
原创 结构体内存对齐
<br />结构体内存对齐<br />原文地址:http://hi.baidu.com/dignity99/blog/item/6f549f173bf8811f962b4372.html<br />一、什么是字节对齐,为什么要对齐?<br /> 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特定的内存地址访问,这就需要各种类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。<br
2010-10-24 10:04:00
538
原创 curses
<br />总的来说,curses是一个在Linux/Unix下广泛应用的图形函数库. 以前学过TC2.0的朋友肯定还记得TC里边有一个图形库BGI(Borland Graphics Interface, 还记得那个头文件吗:). 用它我们可以绘制在DOS下的用户界面和漂亮的图形. 而Linux/Unix编程给人的感觉就比较"cool"一点, 好像Linux编程都是在黑黑的终端下进行的.确实是这样,许多Linux高手都喜欢在终端方式下工作, 熟悉了一些命令以后,这样的工作方式效率还是很高的. 但是长久地看着
2010-10-10 20:28:00
561
原创 进程与程序的区别
<br />进程和程序是有本质区别的,程序是静态的,它是一些保存在磁盘上的指令的有序集合,没有任何执行的概念;而进程是一个动态的概念,它是程序执行的过程,包括了动态创建、调度和消亡的整个过程。它是程序执行和资源管理的最小单位。因此,对系统而言,当用户在系统中键入命令执行一个程序的时候,它将启动一个进程。在LINUX中通过进程控制块,对进程进行描述,太其中包括了进程的描述信息,控制信息,以及资源信息。他被包含在文件include/linux/sched.h中。
2010-09-28 21:36:00
1399
原创 任务控制块的相关操作
1,任务控制块os_tcb的结构体typedef struct os_tcb { OS_STK *OSTCBStkPtr; 任务的栈顶#if OS_TASK_CREATE_EXT_EN > 0 void *OSTCBExtPtr; /* Pointer to user definable data for TCB extension */ OS_STK *OSTCBStkBottom;
2010-09-26 20:57:00
829
原创 UCOSii事件总结2
初始化事件列表 3.1.1信号量,互斥信号量,消息邮箱,消息队列,,信号量集,内存块。初始化创建链表,static void OS_InitEventList (void){ INT16U i;#if (OS_MAX_EVENTS > 1) OS_EVENT *pevent1; OS_EVENT *pevent
2010-09-26 20:49:00
938
原创 ucosII事件总结1
<br /> 一,事件和相关的结构体总结<br />1、 在ucosii中事件主要有五种<br />A、信号量 OS_EVENT_TYPE_SEM<br />B、互斥信号量 OS_EVENT_TYPE_MUTEX<br />C、消息邮箱 OS_EVENT_TYPE_MBOX<br />D、消息队列 OS_EVENT_TYPE_Q<br
2010-09-26 20:41:00
505
原创 UCOSii事件总结
一,事件和相关的结构体总结1、 在ucosii中事件主要有五种A、信号量 OS_EVENT_TYPE_SEMB、互斥信号量 OS_EVENT_TYPE_MUTEXC、消息邮箱 OS_EVENT_TYPE_MBOX D、消息队列 OS_EVENT_TYPE_QE、信号量集 OS_EVNET_TYPE_FLAG2、事件的结构体。
2010-09-26 20:34:00
1171
原创 UCOS 内核2.83学习总结——互斥型信号量
一: 互斥型信号量的理解 互斥型信号量首先是二值信号量,实现对共享资源的独占式处理,其次互斥型信号量可以在应用程序代码中用于降解优先级的反转问题,这个是它和普通信号量的最本质的区别。二: 优先级反转的问题 假设现在有三个任务分别是Task1,Task2,Task3,优先级从大到小。程序在运行过程中,Task1和Task2处于挂起(pend)的状态,等待某个事件的发生。这样优
2010-09-21 22:50:00
2145
原创 ucos事件总结1
<br />对UCOSII事件的总结<br />1、 在ucosii中事件主要有五种<br />A、信号量 OS_EVENT_TYPE_SEM<br />B、互斥信号量 OS_EVENT_TYPE_MUTEX<br />C、消息邮箱 OS_EVENT_TYPE_MBOX<br />D、消息队列 OS_EVENT_TYPE_Q<br />E、信号量集 OS_EVNET_TYPE_FLAG<br />2、事件的结构体。<br />OS_EVENT_TYPE_SEM OS_EVENT_TY
2010-09-20 22:27:00
869
原创 ucos事件总结1
<br />对UCOSII事件的总结<br />1、 在ucosii中事件主要有五种<br />A、信号量 OS_EVENT_TYPE_SEM<br />B、互斥信号量 OS_EVENT_TYPE_MUTEX<br />C、消息邮箱 OS_EVENT_TYPE_MBOX<br />D、消息队列 OS_EVENT_TYPE_Q<br />E、信号量集 OS_EVNET_TYPE_FLAG<br />2、事件的结构体。<br />OS_EVENT_TYPE_SEM OS_EVENT_TY
2010-09-20 22:26:00
2935
MINI2440启动程序
2011-01-22
uboot readme 中文注释
2010-12-25
C++ Builder 程序设计实用教程.pdf
2010-12-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人