自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

原创 UCGUI新增窗口与显示的流程

UCGUI中用使用LISTBOX控件时无法显示,后来仔细分析终于解决,也顺便掌所了UCGUI中新增窗口或是控件的流程,现记录如下从CREATE一个窗口或控件到屏上显示出来经过了太多步了,逻辑复杂,很难搞明白。但只要了解了其中一部分,很多问题都可以解决的。1.创建窗体,取得窗体的句柄,并将窗体插入到窗体链表中_PopMenu =  LISTBOX_CreateAsChild(参数

2014-01-23 17:17:56 1460

转载 CODE RO RW ZI的区别

一直以来对于ARM体系 中所描述的RO,RW和ZI数据存在似是而非的理解,这段时间对其仔细了解了一番,发现了一些规律,理解了一些以前书本上有的但是不理解的东西,我想应该 有不少人也有和我同样的困惑,因此将我的一些关于RO,RW和ZI的理解写出来,希望能对大家有所帮助。要了解RO,RW和ZI需要首先了解以下知识:ARM程序的组成此处所说的“ARM程序”是指在ARM系统中正在执行的程序,而

2014-01-14 17:39:28 661

转载 STM32 FSMC 配置说明

typedef struct{uint32_t FSMC_Bank;//nor被分为四块,其中这个参数是说明对那个块编程uint32_t FSMC_DataAddressMux;//地址\数据是否复用uint32_t FSMC_MemoryType;//存储器类型uint32_t FSMC_MemoryDataWidth;//数据总线宽度 8位/16位

2014-01-11 17:02:08 1869

转载 FSMC控制寄存器

不知道ST为什么把FSMC搞的如此复杂,说白了就和ARM7或是9的几个BANK的配置一样,但是好像STM32的配置更加详细一点(不知道具体有无用处)。 FSMC着实让我研究了一个星期,总是弄了半节之后便打算放弃:主要是资料太乱了!加之ST例程中这部分寄存器的定义让我难以理解。 下面按照自己的思路总结一下,一作为笔记,二者希望可以给同样迷惑的人一些帮助。 FSMC分为四个BANK

2014-01-10 14:36:12 1553

转载 ARM、DSP、CPLD、FPGA的技术特点和区别

ARM(Advanced RISC Machines)是微处理器行业的一家知名企业,设计了大量高性能、廉价、耗能低的RISC处理器、相关技术及软件。ARM也是单片机。ARM架构是面向低预算市场设计的第一款RISC微处理器,基本是32位单片机的行业标准,它提供一系列内核、体系扩展、微处理器和系统芯片方案,四个功能模块可供生产厂商根据不同用户的要求来配置生产。由于所有产品均采用一个通用的软件体

2014-01-09 10:16:00 1576

原创 变量生存期图

2013-12-27 13:38:14 416

转载 C语言中使用静态函数

C程序一直由下列部分组成:      1)正文段——CPU执行的机器指令部分;一个程序只有一个副本;只读,防止程序由于意外事故而修改自身指令;      2)初始化数据段(数据段)——在程序中所有赋了初值的全局变量,存放在这里。      3)非初始化数据段(bss段)——在程序中没有初始化的全局变量;内核将此段初始化为0。       4)栈——增长方向:自顶向下增长;自动变量以

2013-12-25 17:04:20 632

转载 理解复杂的C声明 const, typedef , 函数指针

让我们从一个非常简单的例子开始,如下: int n; 这个应该被理解为“declare n as an int”(n是一个int型的变量)。 接下去来看一下指针变量,如下: int *p; 这个应该被理解为“declare p as an int *”(p是一个int *型的变量),或者说p是一个指向一个int型变量的指针。我想在这里展开讨论一下:我觉得在声明一个指针(或引用)

2013-12-25 11:00:44 648

原创 结构体的嵌套与报地址取值

如struct a{       char * str1;       char * str2;       struct b structb;}struct b{     char * str3;     char * str4;} 如果知道structb的首地址,则可以用指向指针的指针+偏移量来计算出任意一个成员的地下一

2013-12-23 15:22:35 868

转载 函数指针

使用函数指针的好处在于,可以将实现同一功能的多个模块统一起来标识,这样一来更容易后期的维护,系统结构更加清晰。或者归纳为:便于分层设计、利于系统抽象、降低耦合度以及使接口与实现分开先给你举个例子吧,函数指针的写法int *p;int a;p=&a; //这是一般整型指针#include using namespace std;int arr(int a,int b)

2013-12-14 17:00:19 400

原创 内核修改记录

***********2013/12/13日内核修改记录*****************************dfs_posix.c中open()函数return fd; 必为return result; dfs_file.c中dfs_file_open(struct dfs_fd *fd, const char *path, int flags)函数return 0;

2013-12-14 12:21:10 458

原创 C语言小知识--持续更新

1.函数中,变量的定义必须全部放在函数体的最前面,之后才能放函数调用,否则会编译出错的

2013-12-13 17:20:42 621

转载 extern使用方法总结

extern   在源文件A里定义的函数,在其它源文件里是看不见的(即不能访问)。为了在源文件B里能调用这个函数,应该在B的头部加上一个外部声明:     extern   函数原型;     这样,在源文件B里也可以调用那个函数了。     注意这里的用词区别:在A里是定义,在B里是声明。一个函数只能(也必须)在一个源文件里被定义,但是可以在其它多个源文件里被声明。定义引

2013-12-11 15:47:05 405

原创 以复杂结构体为参数在子函数中进行赋值,并返回值给主函数

问题:以复杂结构体为参数在子函数中进行赋值,并返回值给主函数解决关键:这种情况下只要保证实参和形参指向同一个地址就可以了。即传递结构体地址给子函数--结构体名即存放的结构体地址struct dfs_fd *d;//此时还没有地址d = fd_get(fd);//有地址啦result = dfs_file_open(d, file, flags);//可以在子函数中修改并返回了啦!!!

2013-12-11 15:15:10 1549

转载 const char * 转换为 char *

const char * 转换为 char *指向const的指针不能被赋给指向非const的指针,所以应该用strcpy,也就是另开一块内存,把字符一个个复制过去const char *expr = "goodidea";char *buf = new char[strlen(expr)+1];strcpy(buf, expr);strcpy  原型:extern c

2013-12-09 14:36:34 1069 2

转载 #define用法以及#define和typedef区别

#define用法以及#define和typedef区别1.简单的define定义#define MAXTIME1000 2.define的“函数定义”define可以像函数那样接受一些参数,如下#define max(x,y) (x)>(y)?(x):(y);因为这个“函数”没有类型检查,就好像一个函数模板似的,没有模板那么安全就是了。但是这样做的话存在隐患,例子如下

2013-12-07 11:16:37 465

转载 C++内存管理学习堆和栈

一 C++内存管理  内存分配方式  在讲解内存分配之前首先要了解程序在内存中都有什么区域然后在详细分析各种分配方式   C语言和C++内存分配区  下面的三张图图图是一种比较详细的C语言的内存区域分法图是典型的C++内存分布图简单易懂;以下内存分配图区别就是图和则分为初始化和未初始化静态变量区图中是全局变量区  C语言(图和图)(由地地址到高地址)  a)正文段用来存放程

2013-12-07 09:33:04 387

转载 C语言栈、堆和静态区

静态区:保存自动全局变量和static 变量(包括static 全局和局部变量)。              静态区的内容在总个程序的生命周期内都存在,由编译器在编译              的时候分配。栈:       保存局部变量。栈上的内容只在函数的范围内存在,当函数运行结束,              这些内容也会自动被销毁。其特点是效率高,但空间大小有限。堆:   

2013-12-07 09:31:46 431

转载 C语言堆栈入门——堆和栈的区别

C语言堆栈入门——堆和栈的区别原文:http://student.csdn.net/link.php?url=http://www.top-e.org%2Fjiaoshi%2Fhtml%2F427.html格式和部分内容稍作修改。在计算机领域,堆栈是一个不容忽视的概念,我们编写的C语言程序基本上都要用到。但对于很多的初学着来说,堆栈是一个很模糊的概念。堆栈:一种数据结构、一

2013-12-07 09:22:43 490

转载 C中函数指针的使用(包含对typedef用法的讨论)

关于C++中函数指针的使用(包含对typedef用法的讨论)(一)简单的函数指针的应用。//形式1:返回类型(*函数名)(参数表)char (*pFun)(int); char glFun(int a){ return;} void main() {     pFun = glFun;     (*pFun)(2); }         第一行定义了

2013-12-06 12:30:03 463

原创 C语言实现抽象工厂模式实例

借助于宏定义可以实同抽象工厂模式,而且代码简少。如:struct ems_class{ char *name; rt_int16_t flag; rt_int16_t size; ems_type_t family; ems_handler_t handler;};#define DECLARE_CLASS(name) _dec

2013-12-05 18:24:04 654

转载 uCGUI 驱动LCD提速 STM32F主芯

在这里首先感谢wzt的文章《ucgui液晶显示深度优化篇》写的很详细,运行很高效。http://www.docin.com/p-453546222.html         在这里我提出另一种方法,在完全不破坏原有的uCGUI接口功能上进行强力提速。当然速度方面要弱于wzt的速度,当然优点就在于不破坏所有接口功能,保留下了uCGUI的所有功能。例如两个图片交叉异或显示。好了,下面开始改

2013-12-04 11:10:33 1104

转载 浅析μC/GUI-v3.90a之GUI_DispString函数

1.GUI_DispString()函数gui/core/GUI_DispString.cvoid GUI_DispString(const char GUI_UNI_PTR *s) { int xAdjust, yAdjust, xOrg; int FontSizeY; if (!s) return; GUI_LOCK(); FontSizeY = GUI_G

2013-12-04 11:06:53 1752

转载 C语言中实现字符串数组

C语言中实现字符串数组C++中实现字符串数组很容易,定义一个string类型的数组就可以了。但在C语言中由于没有string这个类型实现起来就要麻烦些。以下我提供一种利用指针数组实现的方法,其实质也就是个二维字符数组。所谓指针数组是指元素均为指针类型数据的数组,也就是说,指针数组中的每个元素相当于一个指针变量,它的值是地址。一维指针数组的定义形式为:类型名 *数组名[数组长度];例

2013-11-25 17:05:50 912

原创 C语言中定义函数指针数组并逐一执行

typedef void fVoidVoid(void);static fVoidVoid * _apfTest[] = { GUIDEMO_HardwareInfo, GUIDEMO_Speed, #if GUI_SUPPORT_MEMDEV GUIDEMO_Graph, #endif GUIDEMO_Bitmap, GUIDEMO_Cursor, GUI

2013-11-18 10:11:41 841

转载 RT在奋斗版上的移植

http://blog.csdn.net/mostone/article/details/9316935

2013-11-14 09:40:50 360

原创 C语言用结构体指针作函数参数

这种方式比用结构体变量作函数参数效率高,因为无需传递各个成员的值,只需传递一个地址,且函数中的结构体成员并不占据新的内存单元,而与主调函数中的成员共享存储单元。这种方式还可通过修改形参所指成员影响实参所对应的成员值。 例如struct book { char bookname[30]; int quantity; }; main() { void fun(struc

2013-11-09 10:07:23 981

空空如也

空空如也

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

TA关注的人

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