自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(148)
  • 资源 (3)
  • 收藏
  • 关注

转载 CImagelist 基本用法

1.综述在MFC中CImageList类封装了图像列表控件的功能,图像列表是一个具有相同大小的图像(可以是不同类型)的集合,其主要用于应用程序中大规模图标的存储。该控件是不可见的,通常与其它如CListBox,CComboBox,CComboBoxEx,CTabCtrl以及CTreeCtrl一起使用,为他们提供图标资源。图象的每个集合中均以0为图象索引基数,可以把这些图标看成是以数组方式存储...

2019-07-09 14:43:11 850

转载 MFC之CTreeCtrl树型控件使用

1.0 从工具箱中拖树型控件到对话框窗口,控件ID IDC_WEB_TREE ,如下图所示2.0 在对话框头文件添加以下两个类对象public: CTreeCtrl m_TreeCtrl; //用于与控件相连 CImageList m_ImageListTree; //用于存放图片3.0 控件与类对象相...

2019-07-09 14:17:47 3639

转载 创建菜单

常用菜单操作函数文中涉及到的VC++中常见的菜单只要操作如下:GetMenu() - 获得与框架窗口相链接的菜单。InsertMenu() – 在指定位置插入新的菜单项,其他的选项向下移。GetSubMenu() – 获得子菜单指针。GetMenuItemCount() – 得到菜单下的菜单项的个数。AppendMenu() – 添加一个新菜单。GetMenuString() – 获...

2019-07-08 23:57:41 430

转载 静态创建菜单

首先在资源管理器中建立菜单资源,从而得到菜单资源IDIDR_MENU2 CMenu menu; CMenu *pSubMenu; menu.LoadMenu(IDR_MENU2); pSubMenu = menu.GetSubMenu(0); CPoint point1; GetCursorPos(&point1); p...

2019-07-08 23:39:11 217

转载 MFC之Tab Control控件简单使用

转:https://blog.csdn.net/u010780613/article/details/53883634 在MFC当中使用Tab Control控件切换不同的界面,使用起来会复杂一些,至少是比Qt中的Tab Widget复杂得多。我接下来会以一个MFC对话框应用程序为例子,说明Tab Control控件的简单使用方法。1.1建立一个MFC对话框应用程序,在对话框中...

2019-07-08 17:19:23 644

转载 MFC六大关键技术

我并不认为MFC减轻了程序员们的负担,MFC出现的目的虽然似乎是为了让程序员不用懂得太多就可以进行视窗编程,但本人在MFC里徘徊了很久很久(因为那时没有书本详细介绍MFC的原理),毫无收获。可能朋友们会说,怎么一定要了解MFC的具体呢,“黑箱”作业不行吗?这不是微软的初衷吗?  不行!!!如果这样,我宁愿永远不选择MFC!在学电脑之前,本人学习的东西大都与艺术不无关系,小学时参加过全国书画比赛...

2019-07-08 16:28:30 1013 1

转载 改变菜单栏的文字

CMenu * menuBar; menuBar = (CMenu *)(this->GetMenu()); menuBar->ModifyMenu(0, MF_BYPOSITION, MF_SEPARATOR, L"1"); menuBar->ModifyMenu(1, MF_BYPOSITION, MF_SEPARATOR, L"2"); menuBar-&...

2019-07-08 16:11:17 746

转载 mfc多媒体定时器timeSetEvent

转:https://blog.csdn.net/tongsean/article/details/40562857今天在调试项目的时候用到timeSetEvent,编译的时候没有出现错误,但运行的时候就会出现程序崩溃,在网上找了很多资料,参照MSDN,最终解决,特将遇到的问题和解决方法在此介绍,希望遇到同样问题的兄弟也能迅速定位问题。查看MSDN,timeSetEvent的用法如下:...

2019-07-08 13:02:20 1431

转载 BLE芯片选型-支持双串口的BLE芯片-BK3431Q跟BK3432的性能对比

低功耗蓝牙用户最在意的主要有三点, 第一点就是功耗,第二点就是兼容性。在第一点跟第二点都满足的情况下,才是一个最优的价格。当然,开发过程中的服务也是不可缺少的,可以帮助用户快速实现产品化。下边我们一起看下这两颗芯片的性能及优点以看出,bk3432是bk3431Q的cost down版本,价格相对来说会更有优势。当然,bk3431q,bk3432都支持双串口,这也是该芯片的一个卖...

2019-07-06 10:54:46 2020

转载 MFC框架类、文档类、视图类相互访问的方法

1、获取应用程序指针CMyApp* pApp=(CMyApp*)AfxGetApp();2、获取主框架指针CWinApp 中的公有成员变量 m_pMainWnd 就是主框架的指针CMainFrame* pMainFrame = (CMainFrame*)(AfxGetApp()->m_pMainWnd);或者CMainFrame* pMainFrame = (CMai...

2019-07-04 11:01:42 438

转载 VC界面绘制双缓存

转载请注明原文网址:http://www.cnblogs.com/xianyunhe/archive/2011/11/20/2255811.html1、闪屏的问题在GDI的绘图系统中,每调用一次区域绘图操作,如FillRect、BitBlt等,图形显示系统就会在屏幕中对指定的区域进行一次刷新操作。如果频繁的进行区域绘制操作的操作的话,我们就会发现,屏幕会出现闪屏。使用下面的代码对闪屏...

2019-07-04 00:21:53 130

转载 Invalidate()

InvalidateRect只是增加重绘区域,在下次WM_PAINT的时候才生效InvalidateRect函数中的参数TRUE表示系统会在你画之前用背景色将所选区域覆盖一次,默认背景色为白色,可以通过设置BRUSH来改变背景色。Invalidate()之后:(MFC的,顺便了)OnPaint()->OnPrepareDC()->OnDraw()所以只是刷新在OnPaint...

2019-07-03 22:14:25 4730

转载 GDI

1、概述 GDI在全称是Graphics Device Interface,即图形设备接口。是图形显示与实际物理设备之间的桥梁。GDI接口是基于函数,虽然使程序员省力不少,但是编程方式依然显得麻烦。例如显示一张位图,我们需要进行“创建位图,读取位图文件信息,启用场景设备,调色板变化“等一系列操作。然而有了GDI+,繁琐的步骤再次被简化。顾名思义,GDI+就是GDI的增强版,它是微...

2019-07-03 16:01:45 221

转载 蓝牙4.0设计 CC2540

蓝牙4.0设计 CC25401.问:什么是蓝牙通信?答:蓝牙通讯最初设计初衷是方便移动电话(手机)与配件之间进行低成本、低功耗无线通信连接,现在已经成为IEEE802.15标准,得到全球上万家厂商支持。2.问:如果从事蓝牙开发有没有前途?答:严格地说,这不是一个技术问题,而是一个世界观问题。什么是前途?如果单纯是金钱,从事技术是不太可能暴富的(注意比尔.盖茨是...

2019-06-30 09:47:08 502

转载 常用模块】HC-05蓝牙串口通信模块使用详解

https://blog.csdn.net/qq_38410730/article/details/80368485蓝牙模块的调试HC-05蓝牙串口通讯模块具有两种工作模式:命令响应工作模式和自动连接工作模式。在自动连接工作模式下模块又可分为主(Master)、从(Slave)和回环(Loopback)三种工作角色。当模块处于自动连接工作模式时,将自动根据事先设定的方式连接的数据传输;...

2019-05-13 16:06:15 12038 1

转载 kernel_list

1、前言  今天在看代码时,遇到offsetof和container_of两个宏,觉得很有意思,功能很强大。offsetof是用来判断结构体中成员的偏移位置,container_of宏用来根据成员的地址来获取结构体的地址。两个宏设计的很巧妙,值得学习。linux内核中有着两个宏的定义,并在链表结构中得到应用。不得不提一下linux内核中的链表,设计的如此之妙,只需要两个指针就搞定了。后续认真研...

2019-05-12 13:22:43 186

转载 stm32启动代码

对于熟悉电脑的伙伴们来说,BIOS(那个蓝色的界面)可能不会太陌生吧,这货就是电脑的启动代码。没有BIOS的电脑,那注定是一块板砖!BIOS主要是做一些开机前的准备工作,例如系统时间设定、启动顺序。。。扯远了 其实电脑本身就是从单片机而来,那么单片机也是有启动代码的,只是我们绝大部分情况 不去关心它。 启动代码究竟都干了些什么工作,为何需要它?想想你在c语言中用到了什么东西,而...

2019-05-11 14:15:25 1907

转载 SPI接口

SPI(Serial Peripheral Interface--串行外设接口)总线系统是一种同步串行外设接口,它可以使MCU与各种外围设备以串行方式进行通信以交换信息。SPI总线可直接与各个厂家生产的多种标准外围器件相连,包括FLASHRAM、网络控制器、LCD显示驱动器、A/D转换器和MCU等。该接口一般使用4条线:串行时钟线(SCLK)、主机输入/从机输出数据线MISO、主机输出/从机输入数...

2019-05-10 09:27:09 583 1

转载 双缓冲技术绘图

双缓冲即在内存中创建一个与屏幕绘图区域一致的对象,先将图形绘制到内存中的这个对象上,再一次性将这个对象上的图形拷贝到屏幕上,这样能大大加快绘图的速度。当数据量很大时,绘图可能需要几秒钟甚至更长的时间,而且有时还会出现闪烁现象,为了解决这些问题,可采用双缓冲技术来绘图。过程编辑双缓冲实现过程如下:1、在内存中创建与画布一致的缓冲区2、在缓冲区画图...

2019-05-09 14:47:42 546

转载 c/c++下取消结构体字节对齐方法

转:作者:码中飞翔来源:CSDN原文:https://blog.csdn.net/wanxuexiang/article/details/86658855版权声明:本文为博主原创文章,转载请附上博文链接!c/c++下取消结构体字节对齐方法在c/c++下编译器会默认地对结构体进行对齐,其对齐的方法跟平台具体的特性有关,本文主要介绍结构体不进行对齐的方法。1、结构体字节不进行...

2019-05-09 14:00:38 2104

转载 C++ STL详解

转:http://www.cnblogs.com/shiyangxt/archive/2008/09/11/1289493.html第一部分:(参考百度百科)一、STL简介STL(Standard Template Library,标准模板库)是惠普实验室开发的一系列软件的统称。它是由Alexander Stepanov、Meng Lee和David R Musser在惠普实验室工作...

2019-04-15 11:27:37 110

转载 嵌入式工程师知识结构

2019-04-13 10:10:09 991

原创 c++函数模板

#include <iostream>using namespace std;//函数通用模板template <typename T1 ,typename T2 >char tt(T1 a , T2 b){ T1 z; cout << "11111111" << endl; return 1;...

2019-04-12 11:32:58 97

转载 友元(友元函数、友元类和友元成员函数) C++

https://www.cnblogs.com/zhuguanhao/p/6286145.html 有些情况下,允许特定的非成员函数访问一个类的私有成员,同时仍阻止一般的访问,这是很方便做到的。例如被重载的操作符,如输入或输出操作符,经常需要访问类的私有数据成员。 友元(frend)机制允许一个类将对其非公有成员的访问权授予指定的函数或者类,友元的...

2019-04-11 16:59:30 246

转载 C++文件操作详解(ifstream、ofstream、fstream)

C++ 通过以下几个类支持文件的输入输出:ofstream: 写操作(输出)的文件类 (由ostream引申而来) ifstream: 读操作(输入)的文件类(由istream引申而来) fstream: 可同时读写操作的文件类 (由iostream引申而来)打开文件(Open a file)对这些类的一个对象所做的第一个操作通常就是将它和一个真正的文件联系起来,也就是说打开一...

2019-04-11 11:20:11 832

转载 STM32 之 HAL库、标准外设库、LL库(STM32 Embedded Software)

https://blog.csdn.net/zcshoucsdn/article/details/54613202ST为开发者提供了非常方便的开发库。到目前为止,有标准外设库(STD库)、HAL库、LL库三种。前两者都是常用的库,后面的LL库是ST最近才添加,随HAL源码包一起提供,目前支持的芯片也偏少。各库如下所示STM32Snippets  它是代码示例的集合,直...

2019-04-09 19:40:04 1362

转载 C++中static关键字作用总结

1.先来介绍它的第一条也是最重要的一条:隐藏。(static函数,static变量均可)2.static的第二个作用是保持变量内容的持久。(static变量中的记忆功能和全局生存期)3.static的第三个作用是默认初始化为0(static变量) 其实全局变量也具备这一属性,因为全局变量也存储在静态数据区。在静态数据区,内存中所有的字节默认值都是0x00,某些时候这一特点可以减少...

2019-04-09 11:37:08 3225

转载 c++查找

qt5下载:http://download.qt.io/archive/qt/c++文档:https://zh.cppreference.com/w/%E9%A6%96%E9%A1%B5

2019-04-08 17:25:26 311

转载 什么是命名空间

C++中引入命名空间的主要是为了处理程序中常见的命名冲突,它是由ANSIC++引入的可以由用户命名的作用域。所谓命名空间,实际上就是一个由程序设计者命名的内存区域,程序设计者可以根据需要指定一些有名字的空间域,把一些全局实体分别放在各个命名空间中,从而与其它全局实体分隔开来。如:namespacens//指定命名空间ns{inta;doubleb;}...

2019-04-08 16:18:32 4036 1

原创 linux内核编译make 及 make menuconfig各自作用

2019-03-30 18:01:58 1334

原创 基本驱动模型

基本驱动模型总结

2019-03-30 17:51:10 281

转载 mdev 自动创建设备结点

自动创建设备文件基本原理:驱动程序提供信息(设备文件名、设备号),mdev会根据驱动提供的信息自动创建设备文件class_createdevice_createmdev是busybox自带的一个简化版的udev作用是在系统启动和热插拔 或动态加载驱动程序时,自动产生驱动程序所需的节点文件,在文件系统中的/dev目录下的设备节点都是由mdev创建的md...

2019-03-29 15:31:36 439

原创 字符设备入门理解

基本字符设备驱动模型1.字符设备驱动程序设计步骤(1)定义一个字符设备结构体struct cdev------用来描述某个字符设备(2)初始化字符设备结构体,struct file_operations文件操作集合---cdev_init(3)申请设备号(ID)(4)注册字符设备cdev_add(5)创建设备文件(设备节点) (a)手动创建----mknod (...

2019-03-27 14:00:39 273

转载 转:Linux 内核模块编译 Makefile 详解

一、模块的编译 讲到驱动编译分为静态编译和动态编译;静态编译即为将驱动直接编译进内核,动态编译即为将驱动编译成模块。而动态编译又分为两种:a -- 内部编译 在内核源码目录内编译b -- 外部编译 在内核源码的目录外编译.模块程序的编译 ----------------条件 (1)需要内核源码 (2)内核源码针对硬...

2019-03-26 17:55:16 879

转载 LDR/STR指令学习

接下来是datasheet上关于这两个指令格式的说明:<LDR|STR>{cond}{B}{T} Rd,<Address>where:LDR---Load from memory into a registerSTR---Store from a register into memory{cond} ---Two-character co...

2019-03-26 10:30:45 341

转载 ELF文件和BIN文件

文件的内容:1. BIN文件是 raw binary 文件,这种文件只包含机器码。2. ELF文件除了机器码外,还包含其它额外的信息,如段的加载地址,运行地址,重定位表,符号表等。所以ELF文件的体积比对应的BIN文件要大。文件的执行:1. 执行raw binary很简单,只需要将程序加载到其起始地址,就可以执行; FILE *fp = fopen("vmlinux.bin", "...

2019-03-25 15:21:11 624

转载 nor 与 nand flash

NOR的特点是芯片内执行(XIP, eXecute In Place),这样应用程序可以直接在flash闪存内运行,不必再把代码读到系统RAM中。NOR的传输效率很高,在1~4MB的小容量时具有很高的成本效益,但是很低的写入和擦除 速度大大影响了它的性能。所以估计全部单片机程序都是在norflash中运行。NAND结构能提供极高的单元密度,可以达到高存储密度,并且写入和擦除的速度也很快...

2019-03-25 15:19:49 217

转载 ((void(code *)(void))0x0000)()的理解

首先去括号得到(void(code *)(void))0x0000,这句话很明显是把0x0000强制类型转换成某个东西。然后再去括号得到void(code *)(void),这句话的意思是一个函数指针类型,无参数,无返回值。整体的意思是把0x0000当做一个无参数无返回值的函数指针,再对这个函数进行调用。其作用就是调用0x0000位置处存放的某个函数代码...

2019-03-19 11:44:05 1985

转载 MII与RMII接口的区别

作者:f大熊来源:CSDN原文:https://blog.csdn.net/fun_tion/article/details/70270632版权声明:本文为博主原创文章,转载请附上博文链接!PHY是物理接口收发器,它实现物理层。包括MII/GMII(介质独立接口)子层、PCS(物理编码子层)、PMA(物理介质附加)子层、PMD(物理介质相关)子层、MDI子层。1. 概述...

2019-03-18 13:00:09 14365

原创 stm32f4 lwIP开发笔记

原理:https://blog.csdn.net/zhaozhiyuan111/article/details/79197692RMII (Reduced Media Independent Interface) 简化媒体独立接口MII :媒体独立接口,也叫介质无关接口。它是IEEE-802.3定义的以太网行业标准。它包括一个数据接口,以及一个MAC和PHY之间的管理接口(图...

2019-03-18 12:52:22 5173

内核链表航班系统

应用linux内核链表制作航班系统,有添加和删除功能,查询等功能。

2018-11-14

中文ATmega128_cn.pdf

。。。。。。。。。。。。。。。。。。。。。ATmega128_cn.pdf

2009-11-05

ads7843用法编程说明书

.....................如题

2009-11-05

空空如也

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

TA关注的人

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