06 2019 档案

摘要:一,配置vs 二,程序崩溃界面 三,map文件 如果仔细浏览 Rva+Base 这栏,你会发现第一个比崩溃地址大的地址0x00401080,所以在 这个地址之前的那个入口就是产生崩溃的函数 因此,发生崩溃的函数就是 ?Crash@@YAXXZ ,所有以问号开头的函数名称都是 C++ 修饰的名称 什么 阅读全文
posted @ 2019-06-27 14:24 狂奔~ 编辑
摘要:mov ecx,30mov eax,0cccccccchrep stos dword prt es:[edi]stos指令,它的功能是将eax中的数据放入的edi所指的地址中,同时,edi会增加4个字节,rep使指令重复执行ecx中填写的次数。方括弧表示存储器,这个地址实际上是edi的内容所指向的地 阅读全文
posted @ 2019-06-26 19:19 狂奔~ 编辑
摘要:sizeof 是操作符 strlen计算字符串的长度,以'\0'为字符串结束标志 sizeof是分配的数组实际所占的内存空间大小,不受里面存储内容 例如 char *str = "1111111abcd"; char str1[9] = {1}; sizeof(str) = 4; //是指指针所占的 阅读全文
posted @ 2019-06-26 15:18 狂奔~ 编辑
摘要:几个常用的寄存器 sp/esp/rsp(16bit/32bit/64bit)栈寄存器 指向栈顶 bp/ebp/rbp 栈基址寄存器 指向栈底 ip/eip/rip 程序指令寄存器 指向下一条待执行指令 通用寄存器 数据寄存器组: EAX, EBX, ECX, EDX,ABCD都是32位数据寄存器,E 阅读全文
posted @ 2019-06-26 14:17 狂奔~ 编辑
摘要:eip寄存器存储着我们cpu要读取指令的地址,没有了它,cpu就无法读取下面的指令(通俗点讲cpu就无法执行。每次相应汇编指令执行完相应的eip值就会增加。 因为80386 cpu的寻址范围是4GB。所以它的寻址模式是平坦模式的。这里我描述下cpu通过读取eip寄存器执行的大致过程。。 此时我们假设 阅读全文
posted @ 2019-06-26 14:13 狂奔~ 编辑
摘要:https://www.cnblogs.com/xinxue/p/5471708.html 2 重写 (override) 在 1.2.2 中提到 override 关键字,可以避免派生类中忘记重写虚函数的错误 下面以重写虚函数时,容易犯的四个错误为例,详细阐述之 在派生类中,重写 (overrid 阅读全文
posted @ 2019-06-26 12:02 狂奔~ 编辑
摘要:参考:Qt4 开发实践第八章 图形视图QGraphicsView 实现蝴蝶飞舞 阅读全文
posted @ 2019-06-26 11:13 狂奔~ 编辑
摘要:首先需要注意的是:QMutexLocker这个类是基于QMutex的便利类,这个类不能够定义 私有成员变量 和 全局变量,只能够定义局部变量来使用。 使用方法:(1)先定义一个QMutex类的变量 QMutex m_mutex; (可以是私有成员变量,也可以是全局变量) (2) 在定义一个QMute 阅读全文
posted @ 2019-06-24 17:38 狂奔~ 编辑
摘要:1.一般我们的事件循环都是由exec()来开启的,例如下面的例子: 这些都开启了事件循环,事件循环首先是一个无限“循环”,程序在exec()里面无限循环,能让跟在exec()后面的代码得不到运行机会,直至程序从exec()跳出。从exec()跳出时,事件循环即被终止。QEventLoop::quit 阅读全文
posted @ 2019-06-24 17:30 狂奔~ 编辑
摘要:#include "mainwindow.h" #include "ui_mainwindow.h" #include #include #include #include #include #include #include #include MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent)... 阅读全文
posted @ 2019-06-23 22:49 狂奔~ 编辑
摘要:QPixmap::grapWindow(winID) 存放一个图片QDesktopWidget 获得当前程序所在窗口id pid每个窗口有winID() // 3pixmap scaled 比例缩放 QClipboard 操作系统剪切版 m_pic = QPixmap::grabWindow(w.w 阅读全文
posted @ 2019-06-23 22:29 狂奔~ 编辑
摘要:自学软件逆向入门一(IDA PRO和OllyDbg和UEdit)https://note.youdao.com/ynoteshare1/index.html?id=2cfeec35b0ecac8bc672593072d4ff33&type=note 逆向入门https://blog.csdn.net 阅读全文
posted @ 2019-06-22 13:31 狂奔~ 编辑
摘要:Qt 提供了四种进程间通信的方式: 4.QCOP(Qt COmmunication Protocol):QCOP 是 Qt 内部的一种通信协议,用于不同的客户端之间在同一地址空间内部或者不同的进程之间的通信。目前,这种机制只用于 Qt for Embedded Linux 版本。 http://ww 阅读全文
posted @ 2019-06-22 11:09 狂奔~ 编辑
摘要:原文地址https://www.cnblogs.com/xiangtingshen/p/11063805.html reinterpret意为“重新解释” reinterpret_cast是C++中与C风格类型转换最接近的类型转换运算符。它让程序员能够将一种对象类型转换为另一种,不管它们是否相关。 阅读全文
posted @ 2019-06-21 14:26 狂奔~ 编辑
摘要:https://www.cnblogs.com/LightSmile/p/11055665.html 阅读全文
posted @ 2019-06-21 13:04 狂奔~ 编辑
摘要:https://blog.csdn.net/liji_digital/article/details/70547082 线程间的通讯可以由QSemaphore调控,以保证各个线程对同一资源的访问不冲突。 但是进程间的协调就不能利用QSemaphore,而要利用QSystemSemaphore。 此外 阅读全文
posted @ 2019-06-21 11:57 狂奔~ 编辑
摘要:QIODevice做为QLocalSocket的父类 在Qt中,提供了多种IPC方法。看起来好像和Socket搭上点边,实则底层是windows的name pipe。这应该是支持双工通信的 QLocalServer提供了一种基于本地套接字的服务器,实现了接收本地socket的连接的功能。 通过调用l 阅读全文
posted @ 2019-06-21 11:24 狂奔~ 编辑
摘要:Qt提供了一种安全的共享内存的实现QSharedMemory,以便在多线程和多进程编程中安全的使用。比如说QQ的聊天的客户端,这里有个个性头象,当点击QQ音乐播放器的时候,启动QQ音乐播放器(启动一QQ音乐播放器的进程)这时QQ音乐播放器里也有一个个性头像,这两者间的头像一样,现用共享内存的方法实现 阅读全文
posted @ 2019-06-20 19:58 狂奔~ 编辑
摘要:需求: 在动态库中创建一个窗口句柄,可以给外部调用,库的调用者,通过这个句柄发送消息到底层库,库里面可以实现对消息的处理 m_FHandle=AllocateHWnd(WndProcDllMsg); // windows 1,动态库编写部分 .pro 工程文件 头文件handlemag.h hand 阅读全文
posted @ 2019-06-20 15:48 狂奔~ 编辑
摘要::: 项目管理类 :: F10 代码窗口全屏显示时切换到BCB的主窗口 Ctrl + F12 打开源文件清单对话框 Shift + F12 打开窗口文件清单对话框 F12 在窗口(Form1)与对应代码文件(Unit1.cpp)间切换 F11 把Object Inspector窗口带到最前面,正在编 阅读全文
posted @ 2019-06-19 09:20 狂奔~ 编辑
摘要:https://blog.csdn.net/biyusr/article/details/79046355 阅读全文
posted @ 2019-06-18 15:28 狂奔~ 阅读(705) 评论(0) 推荐(0) 编辑
摘要:恢复内容开始 转自:http://www.cnblogs.com/davesla/archive/2011/01/18/1938559.html 在编写Windows的应用程序时,我们有时不可避免地要与Windows平台固有的Win32 API打交道,但是Win32 API里面常常用到的HWND等诸 阅读全文
posted @ 2019-06-15 19:34 狂奔~ 编辑
摘要:原文https://www.cnblogs.com/lsgxeva/category/1107731.html 阅读全文
posted @ 2019-06-14 19:55 狂奔~ 编辑
摘要:首先, C++中的explicit关键字只能用于修饰只有一个参数的类构造函数, 它的作用是表明该构造函数是显示的, 而非隐式的, 跟它相对应的另一个关键字是implicit, 意思是隐藏的,类构造函数默认情况下即声明为implicit(隐式). 那么显示声明的构造函数和隐式声明的有什么区别呢? 我们 阅读全文
posted @ 2019-06-14 19:23 狂奔~ 编辑
摘要:VERSION = 1.2.3 QMAKE_TARGET_PRODUCT = 产品名称QMAKE_TARGET_COMPANY = 公司QMAKE_TARGET_DESCRIPTION = 文件描述QMAKE_TARGET_COPYRIGHT = 版权 效果如图 原文:https://blog.cs 阅读全文
posted @ 2019-06-13 15:34 狂奔~ 编辑
摘要:https://www.cnblogs.com/songfeixiang/p/3733661.html https://blog.csdn.net/weixin_39743893/article/details/81225240 在C语言中,假设我们有这样的一个函数:int function(int 阅读全文
posted @ 2019-06-13 10:10 狂奔~ 编辑
摘要:1. 首先新建一个工程(该篇文章共有两个不同的工程,注意区分,一个是有UI界面的,一个是没有UI界面的) 2.接下来选择库模板 3.选择共享库,取个该动态链接库的名字,下一步 4.继续下一步,到Modules界面,默认选择QtCore(QtCore模块提供核心的非图形用户接口功能,所有其他Qt模块都 阅读全文
posted @ 2019-06-12 18:54 狂奔~ 编辑
摘要:做大项目的时候,有很多.h和.cpp文件,会很繁琐。就需要.pri文件夹,将大项目分解成一个个的子项目,方便理清思绪和后期维护。 废话不多说,直接上过程! 第一步:新建一个项目。如图,选择choose。然后一直点“下一步”,注意项目保存位置和项目的名称。直到“完成”。 第二步。 项目右击,选择“添加 阅读全文
posted @ 2019-06-12 14:48 狂奔~ 编辑
摘要:QT中使用pri子工程 使用子工程的作用是使得工程结构更加清晰,举个例子: 我制作了一个自定义控件,具备通用性,我打算把它用在日后的工程中。制作的这个控件需要用到头文件h、源文件c,资源文件qrc、图片文件png、以及这些文件的工程引用描述文件pro/pri,如果我想在以后的工程中使用这个控件,那么 阅读全文
posted @ 2019-06-12 13:55 狂奔~ 编辑
摘要:Qt 提供一个关键字 foreach (实际是 <QtGlobal> 里定义的一个宏)用于方便地访问容器里所有数据项。 foreach 关键字用于遍历容路中所有的项,使用 foreach 的句法是:foreach (variable, container)使用 foreach 的代码比使用迭代器更简 阅读全文
posted @ 2019-06-11 19:40 狂奔~ 编辑
摘要:一、QT5 Json简介 QT4中使用第三方库QJson解析JSON文件。 QT5新增加了处理JSON的类,类均以QJson开头,包含在QtCore模块中。QT5新增加六个相关类: QJsonArray 封装 JSON 数组 QJsonDocument 读写 JSON 文档 QJsonObject 阅读全文
posted @ 2019-06-11 18:46 狂奔~ 编辑
摘要:C++11中,当类中含有不能默认初始化的成员变量时,可以禁止默认构造函数的生成, myClass()=delete;//表示删除默认构造函数 myClass()=default;//表示默认存在构造函数 当类中含有不能默认拷贝成员变量时,可以禁止默认构造函数的生成, myClass(const my 阅读全文
posted @ 2019-06-11 18:18 狂奔~ 编辑
摘要:typedef QVariantMap Synonym for(同义词) QMap<QString, QVariant>. QVariant类型的放入和取出必须是相对应的,你放入一个int就必须按int取出,不能用toString(), Qt不会帮你自动转换。 数据核心无非就是一个 union,和一 阅读全文
posted @ 2019-06-11 16:02 狂奔~ 编辑
摘要:在正式介绍之前抛出一个问题,怎样设计下面这个GUI界面? 根据之前学习过的内容来看有以下三种方式: - 绝对定位,左边摆放QLabel,右边放QLineEdit。 - 嵌套使用QBoxLayout,在QVBoxLayout中嵌套使用QHBoxLayout,每个QHBoxLayout中管理一个QLab 阅读全文
posted @ 2019-06-11 15:38 狂奔~ 编辑
摘要:我们知道,在windows上通过鼠标双击某应用程序图标,该应用程序往往会以顶层窗口的形式呈现在我们面前,但是对于一个已经打开的非顶层窗口,我们怎么将其激活为顶层窗口呢? 要达到激活,这个必须要满足两个条件,第一,必须要有通知激活的人,这个人必须是另一个应用程序(或同一应用程序的不同示例),他能发送信 阅读全文
posted @ 2019-06-11 13:01 狂奔~ 编辑
摘要:QtMessageHandler qInstallMessageHandler(QtMessageHandler handler) Installs a Qt message handler which has been defined previously. Returns a pointer t 阅读全文
posted @ 2019-06-11 12:50 狂奔~ 编辑
摘要:https://blog.csdn.net/jzzy_hony/article/details/81353944 准备主机平台:Windows 7 SP1客户平台:Ubuntu 18.04 LTS(x64)虚拟机: VMware® Workstation 12 Pro一、安装VMware Tools 阅读全文
posted @ 2019-06-11 11:53 狂奔~ 编辑
摘要:原文地址:https://www.cnblogs.com/alantu2018/p/8465919.html 1、前言 最近看到一份代码,看到一个函数前面用__attribute__((destructor))修饰,当时感觉有点怪怪的,搜了整个程序,也没发现哪个地方调用这个函数。于是从字面意思猜想, 阅读全文
posted @ 2019-06-11 11:38 狂奔~ 编辑
摘要:https://www.cnblogs.com/Braveliu/p/5107550.html https://blog.csdn.net/simonforfuture/article/details/78580510 关于Qt中project文件中的变量配置,可以查看Qt帮助文档中的variabl 阅读全文
posted @ 2019-06-11 11:11 狂奔~ 编辑
摘要:QString QStringList 阅读全文
posted @ 2019-06-11 07:56 狂奔~ 编辑
摘要:https://jingyan.baidu.com/article/86f4a73e8e754737d752697c.html C++ Builder是一个老软件了,但是还是一个很好用的软件,今天就给大家分享一下C++ Builder的安装方法。 https://jingyan.baidu.com/ 阅读全文
posted @ 2019-06-10 14:04 狂奔~ 编辑
摘要:电脑系统中的英文字符串和中文字符最根本的区别就在于: 1、英文的 ASCII 码,其最高位为 0,占一个字节 注:英文的ASCII码范围是在0到127,二进制为(0000 0000 ~ 0111 1111) 2、中文的 ASCII 码,其最高位为 1。占两个字节, 注:两个字节的最高位都是1 因此可 阅读全文
posted @ 2019-06-08 08:08 狂奔~ 编辑
摘要:这几天在研究Qt,首先尝试用Qt Creator编写一些小程序来练练手。但是,在这个过程中却遇到了一个问题:使用Qt Creator编写的exe程序,只能在本机运行,跑到别的电脑上就无法运行了,提示缺少各种各样的库。这个问题,我之前在搞VS-MFC的编程时,也遇到过,无非就是一些运行时库的问题导致的 阅读全文
posted @ 2019-06-07 15:44 狂奔~ 编辑
摘要:虚函数表 对C++ 了解的人都应该知道虚函数(Virtual Function)是通过一张虚函数表(Virtual Table)来实现的。简称为V-Table。在这个表中,主是要一个类的虚函数的地址表,这张表解决了继承、覆盖的问题,保证其容真实反应实际的函数。这样,在有虚函数的类的实例中这个表被分配 阅读全文
posted @ 2019-06-05 22:19 狂奔~ 编辑
摘要:删除唯一性约束 语法如下: alter table tableName drop index key_name;#删除唯一性约束,实际就是删除索引 drop index key_name on tableName; #两种方法均可 阅读全文
posted @ 2019-06-05 21:27 狂奔~ 编辑
摘要:转自:https://www.cnblogs.com/acSzz/p/5743789.html#top 一、程序编译链接的整体流程 二、目标文件的样子(以linux下的elf文件格式为例) 三、静态链接 四、装载 五、动态链接 一、程序编译链接的整体流程 通常我们使用gcc来生成可执行程序,命令为: 阅读全文
posted @ 2019-06-05 17:48 狂奔~ 编辑
摘要:“__declspec”是Microsoft c++中专用的关键字,它配合着一些属性可以对标准C++进行扩充。这些属性有:align、allocate、deprecated、 dllexport、dllimport、 naked、noinline、noreturn、nothrow、novtable、 阅读全文
posted @ 2019-06-05 16:06 狂奔~ 编辑
摘要:extern "C"的主要作用就是为了能够正确实现C++代码调用其他C语言代码。加上extern "C"后,会指示编译器这部分代码按C语言(而不是C++)的方式进行编译。由于C++支持函数重载,因此编译器编译函数的过程中会将函数的参数类型也加到编译后的代码中,而不仅仅是函数名;而C语言并不支持函数重 阅读全文
posted @ 2019-06-05 15:50 狂奔~ 编辑
摘要:动态链接是指在生成可执行文件时不将所有程序用到的函数链接到一个文件,因为有许多函数在操作系统带的dll文件中,当程序运行时直接从操作系统中找。 而静态链接就是把所有用到的函数全部链接到exe文件中。 动态链接是只建立一个引用的接口,而真正的代码和数据存放在另外的可执行模块中,在运行时再装入; 而静态 阅读全文
posted @ 2019-06-05 14:31 狂奔~ 编辑
摘要:动态加载: 1:灵活,可以在需要的时候用LoadLibrary进行加载,在不需要的时候用FreeLibrary进行卸载,这样可以不必占用内存。 2:可以在没有dll时候发现,而不致程序报错。 3:加载程序中有条件才运行的库。 4:热更新,在不停止程序的前提下进行更新。 5:复杂一些,需要显示获得函数 阅读全文
posted @ 2019-06-05 14:19 狂奔~ 编辑
摘要:List封装了链表,Vector封装了数组, list和vector得最主要的区别在于vector使用连续内存存储的,他支持[]运算符,而list是以链表形式实现的,不支持[]。 Vector对于随机访问的速度很快,但是对于插入尤其是在头部插入元素速度很慢,在尾部插入速度很快。List对于随机访问速 阅读全文
posted @ 2019-06-05 11:09 狂奔~ 编辑
摘要:0. 枚举流程 • 连接了设备的 HUB 在 HOST 查询其状态改变端点 时返回对应的 bitmap,告知HOST 某个PORT状态发生了改变。 • 主机向 HUB 查询该PORT的状态,得知有设备连接,并知道了该设备的基本特性。 • 主机等待(至少 100mS)设备上电稳定,然后向 HUB 发送 阅读全文
posted @ 2019-06-05 08:08 狂奔~ 编辑
摘要:delete from table where 直接删除表中的某一行数据,并且同时将该行的删除操作作为事务记录在日志中保存以便进行进行回滚操作。所以delete相比较truncate更加占用资源,数据空间不释放,因为需回滚。对table和view都能操作 truncate table 一次性地从表中 阅读全文
posted @ 2019-06-04 09:44 狂奔~ 编辑
摘要:什么是运算符的重载? 运算符与类结合,产生新的含义。 为什么要引入运算符重载? 作用:为了实现类的多态性(多态是指一个函数名有多种含义) 怎么实现运算符的重载? 方式:类的成员函数 或 友元函数(类外的普通函数) 规则:不能重载的运算符有 . 和 .* 和 ?: 和 :: 和 sizeof 友元函数 阅读全文
posted @ 2019-06-04 08:31 狂奔~ 编辑
摘要:内存管理运算符 new、new[]、delete 和 delete[] 也可以进行重载,其重载形式既可以是类的成员函数,也可以是全局函数。一般情况下,内建的内存管理运算符就够用了,只有在需要自己管理内存时才会重载。 以成员函数的形式重载 new 运算符: 以全局函数的形式重载 new 运算符: 两种 阅读全文
posted @ 2019-06-03 23:43 狂奔~ 编辑
摘要:C++ 不允许变量重名,但是允许多个函数取相同的名字,只要参数表不同即可,这叫作函数的重载(读“虫载”,不读“众载”,其英文是 overload)。重载就是装载多种东西的意思,即同一个事物能完成不同功能。 函数的重载使得 C++ 程序员对完成类似功能的不同函数可以统一命名,减少了命名所花的心思。例如 阅读全文
posted @ 2019-06-03 23:05 狂奔~ 编辑
摘要:多态现在一般的用法,就是拿一个父类的指针去调用子类中被重写的方法。但我搞不懂为什么要那么做,我们直接在子类中写一个同名的成员函数,从而隐藏父类的函数不就行了么? 然后有人这样回答: 将父类比喻为电脑的外设接口,子类比喻为外设,现在我有移动硬盘、U盘以及MP3,它们3个都是可以作为存储但是也各不相同。 阅读全文
posted @ 2019-06-03 22:55 狂奔~ 编辑
摘要:一,窗口看门狗 二,喂狗注意事项 三,程序设计 1.检查复位状态,有助于观察当前工作的可靠性 2. 看门狗的初始化 3. 看门狗中断服务函数 #include "stm32f4xx.h" #include "stm32f4xx_gpio.h" #include "stm32f4xx_rcc.h" # 阅读全文
posted @ 2019-06-02 22:34 狂奔~ 编辑
摘要:一,独立看门狗 二,独立看门狗的时钟源 独立看门狗拥有自己的时钟源,不依赖PLL时钟输出的分频信号,能够独立运行,这样子的好处就是PLL假如受到干扰, 导致运行异常,独立的看门狗还能正常地进行工作,如果没有正常的喂狗动作,就复位CPU。 三、程序设计 1. 添加复位检测代码,有助于观察当前工作的可靠 阅读全文
posted @ 2019-06-02 17:25 狂奔~ 编辑
摘要:一,LED状态 二,蓝牙模块有两种通信模式 1,AT指令模式 2,数据透传模式 三、AT指令程序设计 1、设置模块的名字 #include "stm32f4xx.h" #include "stm32f4xx_gpio.h" #include "stm32f4xx_rcc.h" #include "s 阅读全文
posted @ 2019-06-02 15:23 狂奔~ 编辑
摘要:一、串口概述 1. 定义 串口通信是一种设备间非常常用的串行,以比特位的形式发送或接收数据,电子工程师经常使用这种方式来调试数据。 2. 开发板硬件用于串口跟PC相连的时候有以下注意事项: A. 使用到usb转串口,所以得安装驱动 B. 跳线帽要进行短接 协议 二、程序设计 1. 设置引脚功能复用 阅读全文
posted @ 2019-06-02 10:01 狂奔~ 编辑
摘要:一、PWM概述 1、定义 PWM(Pulse Width Modulation),脉冲宽度调制。 脉冲:方波,频率 宽度:高电平的宽度,占空比 2、用途 控制灯光的亮度(手机/平板/显示器背光灯) 电机的转速 .... 3、灯光的控制细节 频率要大于25Hz,灯光的亮度的变化是跟着占空比而变化,占空 阅读全文
posted @ 2019-06-02 07:56 狂奔~ 编辑
摘要:一、定时器 1. 定义 设置等待时间,到达后则执行指定操作的硬件。 2. STM32F407的定时器有以下特征 具有基本的定时功能,也有PWM输出(灯光控制、电机的转速)、脉冲捕获功能(红外捕捉)。 2个高级控制定时器、10个通用定时器和2个基本定时器 高级控制定时器(TIM1和TIM8) 具有16 阅读全文
posted @ 2019-06-01 23:11 狂奔~ 编辑
摘要:一、系统定时器 SysTick叫做系统滴答时钟、系统定时器,属于Cortex-M4内核中的一个外设,它24bit向下递减的计数器 二、系统定时器的中断使用方法 1.代码的初始化 2. 中断服务函数的编写 3. 定时时间的计算 SysTick_Config(SystemCoreClock/频率); 让 阅读全文
posted @ 2019-06-01 21:09 狂奔~ 编辑
摘要:一、启动文件,startup_stm32f40x_41xx.s 1、定义 启动文件由汇编编写,是系统上电复位后第一执行的程序。 2、特征 1)初始化堆栈指针,主要是为C语言提供良好的运行环境 2)进行复位处理,执行该Reset_Handler函数 3)初始化向量表,中断入口地址列表 4)配置系统的时 阅读全文
posted @ 2019-06-01 19:09 狂奔~ 编辑
摘要:一、ARM Cortex-M4的中断体系 1、定义 中断,意味着中途打断现在干的事情,要处理紧急的事情。 1、定义 二、嵌套向量中断控制寄存器 STM32F4xx中文参考手册中文参考手册.pdf P233~P243 1、NVIC特性 无论是ARM Cortex M0/M3/M4 还是 ARM Cor 阅读全文
posted @ 2019-06-01 17:39 狂奔~ 编辑
摘要:一、位带操作 1.意义 回想以前写51代码 P0 = 0x10; //将P0端口设置为0x10 P1_0=1; //将P1端口1号引脚设置为高电平 a = P2_2; //获取P2端口2号引脚的电平 一、位带操作 1.意义 根据上述的方法,我们可以发现快速定位修改某个引脚的电平还有获取引脚的状态 G 阅读全文
posted @ 2019-06-01 16:57 狂奔~ 编辑
摘要:一、时钟体系 1、参考手册 STM32F4xx中文参考手册.pdf 第106页 2、时钟源a.可以使用三种不同的时钟源来驱动系统时钟 (SYSCLK),CPU运行的频率为168MHz:● HSI 振荡器时钟,也就是高速内部时钟,一般来说很少用,因为精度没有外部高速时钟那么高。● HSE 振荡器时钟, 阅读全文
posted @ 2019-06-01 15:27 狂奔~ 编辑
摘要:1、创建完工程之后,会出现编译警告出错问题,解决方法可以参考以下注释,因此新建工程后,必须在工程选项卡当中,【C/C++】中的全局宏定义添加"USE_STDPERIPH_DRIVER",即这个定义控制了是否在应用中启用外设驱动。我们使用标准外设库本来就为了方便控制外设,所以要添加这个定义,以启用外设 阅读全文
posted @ 2019-06-01 10:51 狂奔~ 编辑
摘要:一、定义 远程遥控技术又称为遥控技术,是指实现对被控目标的遥远控制,在工业控制、航空航天、家电领域应用广泛。 红外遥控是一种无线、非接触控制技术,具有抗干扰能力强,信息传输可靠,功耗低,成本低,易实现等显著优点,被诸多电子设备特别是家用电器广泛采用, 并越来越多的应用到计 算机和手机系统中。随着家用 阅读全文
posted @ 2019-06-01 09:33 狂奔~ 编辑
摘要:一,低功耗模式 如电脑 #include "stm32f4xx.h" #include "stm32f4xx_gpio.h" #include "stm32f4xx_rcc.h" #include "stm32f4xx_usart.h" #include "stdio.h" #include "sy 阅读全文
posted @ 2019-06-01 09:11 狂奔~ 编辑
摘要:一,ADC 模拟信号 什么是模拟信号?主要是与离散的数字信号相对的连续的信号。模拟信号分布于自然界的各个角落,如每天温度的变化, 而数字信号是人为的抽象出来的在时间上不连续的信号。电学上的模拟信号是主要是指幅度和相位都连续的电信号, 此信号可以被模拟电路进行各种运算,如放大,相加,相乘等。模拟信号是 阅读全文
posted @ 2019-06-01 08:46 狂奔~ 编辑

点击右上角即可分享
微信分享提示