- 博客(56)
- 资源 (2)
- 收藏
- 关注
原创 面试stm32基础知识
1.ISP第一步进入bootloader模式:先置BOOT0为高,BOOT1为低,再复位单片机进入bootloader模式,之后通过上位机下载程序;第二步配置启动代码的地方:代码下载完毕后,置BOOT0为低,BOOT1为低,再复位单片机即可启动用户代码。STM32三种启动模式下好程序后,重启芯片时,SYSCLK的第4个上升沿,BOOT引脚的值将被锁存,这就是所谓的启动过程。1.STM32上电或者复位后,代码区始终从0x00000000开始,其实就是将存储空间的地址映射到0x00000000中。三种
2024-04-17 20:41:52
1281
原创 蓝牙协议栈的简单介绍
一.蓝牙协议分析(2)_协议架构摘录自BLE协议框架:这篇文章简单介绍协议栈的内容1. Physical Layer:2.LinkLayer:1.状态和角色的定义:Standby,Initiating,Advertising,Scanning,Connection,五种链路状态2.Air Interface Protocol:定义在Physical Channel 上收发的数据包的格式packet formatPreamble(1 octet) Access Address(4 octe
2022-04-20 16:22:07
1671
原创 stm32的内存分布
一、MDK下的概念1)Code:代码段,存放程序的代码部分。2)RO-data:只读数据段,存放定义的常量。3)RW-data:读写数据段,存放初始化为非0值的全局变量和静态变量。4)ZI-data:零数据段,存放未初始化及初始化为0的全局变量和静态变量。static变量(函数内静态局部变量和函数外静态全局变量)初始化的、未初始化的分别在RW-data、ZI-data;全局变量初始化的、未初始化的分别在RW-data、ZI-data;局部变量(函数内)在栈段;动态分配的空间在堆中;代码在
2021-08-01 14:40:27
5393
11
原创 stm32笔记
一、GPIO4种输出模式4钟输入模式 浮空,顾名思义就是浮在空中,上面用绳子一拉就上去了,下面用绳子一拉就沉下去了. 开漏,就等于输出口接了个NPN三极管,并且只接了e,b. c极 是开路的,你可以接一个电阻到3.3V,也可以接一个电阻到5V,这样,在输出1的时候,就可以是5V电压,也可以是3.3V电压了.但是不接电阻上拉的时候,这个输出高就不能实现了. 推挽,就是有推有拉,任何时候IO口的电平都是确定的,不需要外接上拉或者下拉电阻.(1)GPIO_Mode_AIN 模拟输入(2)GPI
2020-12-06 19:24:53
258
原创 STL的学习
一、string1.char *和string的区别char*是指向字符数组地址的指针,系统提供了一个string.h头文件声明了很多字符串操作函数,strlen strcat strcmp strcpy…string是一个类,这个类将操作函数封装到一起,使得字符串的操作更灵活,方式更多,管理更合理;string这个类,我们使用不用考虑内存的分配与释放,不要担心越界崩溃,string都做了相关的处理。2.string的定义typedef basic_string<char,char_tra
2020-10-29 18:10:13
183
原创 C++面试题目汇总三
1.main()之前执行的代码GCCgcc中可以使用attribute关键字,声明constructor和destructor函数。vcvc中不支持attribute,可插入函数进入初始化函数列表__xi_a,__xi_z和__xc_a,__xc_z由初始化CRTInit()调用。C++全局变量的构造函数在main之前;int g_iValue=func;写在func里面然后去初始化全局变量。2.缓冲区溢出 缓冲区溢出是指当计算机向缓冲区内填充数据位数时超过了缓冲区本身的容量溢的数据覆盖
2020-10-24 11:43:50
207
1
原创 设计模式
模板模式//抽象类(基类)class AbstractClass{public: //模板方法,定义一个算法的框架流程 void templateMethod(){ //do something method1(); method2(); method3(); } //公共方法 void method1(){ //do something } //子类必须实现的方法 virtual void method2()=0; //默认实现 virtual void m
2020-10-20 22:54:22
155
原创 剑指office-割线子
题目: 给你一根长度为n绳子,请把绳子剪成m段(m、n都是整数,n>1并且m>1)。每段的绳子的长度记为k[0]、k[1]、……、k[m]。k[0] * k[1]*…*k[m]可能的最大乘积是多少?例如当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到最大的乘积18。/*************************动态规划******************************/int maxProductAfterCutting_solution1(int len
2020-10-08 17:46:25
236
原创 socket组播出现的问题记录
这个程序需要绑定两个端口:1.通过端口复用的方法,绑定同一个端口;2.接收和发送用不同的端口,在发送函数填入组播地址和发送端的端口号。/*加载库文件*/#pragma comment( lib, "ws2_32.lib" )/*加载头文件*/#include <winsock2.h>#include <ws2tcpip.h>#include <stdio.h>#include <stdlib.h>/*定义多播常量*/#define MC
2020-06-07 18:03:37
626
原创 socket做的简单网络嗅探器
SniffDlg.h : 头文件 // SniffDlg.h : 头文件//#pragma once#include "afxcmn.h"#include "afxwin.h"typedef struct _PROTN2T{ int proto; char *pprototext;}PROTN2T;#define PROTO_NUM 11/* The IP header */typedef struct _IPHEADER { unsigned char header_
2020-06-06 17:37:04
889
原创 Windows Program-文件保存查找替换
#include <windows.h>#include "resource.h"#define EDITID 1#define UNTITLED TEXT ("(untitled)")LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);BOOL CALLBACK AboutDlgProc(HWND, UINT, WPARAM, LPARAM);// Functions in POPFILE.Cvoid PopFil
2020-05-24 12:05:03
291
原创 Windows Program-文本查看器
实现滚动显示#include <windows.h>#define ID_LIST 1#define ID_TEXT 2#define MAXREAD 8192#define DIRATTR (DDL_READWRITE|DDL_READONLY|DDL_HIDDEN|DDL_SYSTEM|\ DDL_DIRECTORY|DDL_ARCHIVE|DDL_DRIVES)#define DTFLAGS (DT_WORDBREAK|DT_EXPANDTABS|DT_NOCLIP|
2020-05-10 21:41:24
321
原创 Windows Program-子控件
第9章子窗口控件1.静态类(static),静态子窗口控件,它不接收鼠标或键盘输入,也不会向其父窗口发送WM_COMMAND消息下面6个静态窗口样式:“RECT”静态样式“FRAME”静态样式SS_BLACKRECTSS_BLACKFRAMESS_GRAYRECTSS_GRAYFRAMESS_WHITERECTSS_WHITEFRAME样式中的“B...
2020-05-05 11:23:12
331
原创 Windows Program-计时器
第8章计时器1.计时器使用方法一:#define TIMER_SEC 1SetTimer(hwnd,TIMER_SEC,uiMsecInterval,NULL);KillTimer(hwnd,TIMER_SEC);2.计时器使用方法二:/* *回调函数TimerProc传入的参数:hwnd为SetTimer时的hwnd;message始终为WM_TIMER; *dwTime是从G...
2020-05-02 18:30:17
312
原创 C++语言学习
1.编译运行P3加练习2.初识输入输出 C++语言未定义任何输入输出(IO)语句,取而代之,包含了一个全面的标准库(standard library)来提供IO机制。iostream库包含两个基础类型istream和ostream,分别表示输入流和输出流。一个流就是一个字符序列,是从IO设备读出或写入IO设备的。术语“流”(stream)想要表达的是,随时间的推移,字符是顺序生成或消耗的。...
2020-03-16 12:20:56
687
原创 第六章 数据结构基础(例题篇)--算法竞赛入门经典
第六章 数据结构基础(例题篇)例题6-1:并行程序模拟(Concurrency Simulator,UVa210) P139双端队列:在中的双端队列dequedeque readyQ;readyQ.push_front(1);//从队首插入元素readyQ.push_back(2);//从队尾插入元素int pid = readyQ.back();//取队尾元素readyQ.pop_...
2020-03-02 22:03:38
244
原创 MarkDown格式
一、代码高亮你的代码二、段落半方大的空白 或 全方大的空白 或&8195;不断行的空白格 或 111 1 1 1 1 1 111三、字体、字号、颜色 我是黑体字 我是微软雅黑微软雅黑背景色是:orange四、无序列表(与上面的内容必须...
2020-02-28 22:04:01
180
原创 第五章 C++与STL入门(例题篇:综合部分)--算法竞赛入门经典
第五章 C++与STL入门(例题篇:综合部分)知识点一:大整数类 P124#include<iostream>#include<vector>#include<string>#include<algorithm>//#include<cstdio>using namespace std;struct BigInteger ...
2020-02-28 20:35:32
836
原创 第五章 C++与STL入门(例题篇:STL部分)--算法竞赛入门经典
第五章 C++与STL入门(例题篇:STL部分)例题5-1:大理石在哪儿(UVa10474) P108排序与检索#include<cstdio>#include<algorithm>using namespace std;const int maxn = 10000;int main(){ /*ios::sync_with_stdio(false);*/...
2020-02-28 20:17:26
827
原创 第五章 C++与STL入门(例题篇:C++部分)--算法竞赛入门经典
第五章 C++与STL入门(例题篇:C++部分)知识点一:#include <cstdio>int main(){ int a, b; while (scanf("%d%d", &a, &b) == 2) printf("%d\n", a + b); return 0;}和之前的C程序比较,唯一的区别是stdio.h变成了cstdio。事实上,s...
2020-02-28 17:27:05
600
原创 第四章 函数和递归(习题篇)--算法竞赛入门经典
第四章 函数和递归(习题篇)习题4-1 象棋(Xiangqi,UVa1589)考虑一个象棋残局,其中红方有n(2<=n<=7)个棋子,黑方只有一个将。红方除了有一个帅(G)之外还有三种可能的棋子:车(R),马(H),炮(C),并且需要考虑“蹩马脚”与将和帅不能照面(将、帅如果在一条直线上,中间又不隔着任何棋子的情况下,将要走子的一方胜)的规则。输入所有棋子的位置,保证局面合法并且...
2020-02-28 16:35:33
280
原创 第四章 函数和递归(例题篇)--算法竞赛入门经典
第四章 函数和递归(例题篇)知识点一:计算组合数 P63编写函数,参数是两个非负整数n和m,返回组合数其中m<=n<=25。例如,n=25,m=12时答案为5200300。#include <stdio.h>long long factorial(int n){ long long m = 1; for (int i = 1;i <= n;i++)...
2020-02-26 18:19:03
446
原创 第三章 数组和字符串(习题篇)--算法竞赛入门经典
第三章 数组和字符串(习题篇)习题3-1:得分(Score,UVa1585)给出一个由O和X组成的串(长度为1~80),统计得分。每个O的得分为目前连续出现的O的个数,X的得分为0。例如,OOXXOXXOOO的得分1+2+0+0+1+0+0+1+2+3。分析 :输入字符串后从字符串开头循环,是‘X’就把O的权值改为0;是‘O’就权值加1,答案加上权值。最后输出答案。#include <...
2020-02-26 15:29:59
1415
原创 第三章 数组和字符串(例题篇)--算法竞赛入门经典
第三章 数组和字符串(例题篇)知识点一:蛇形填数 P40利用边界和碰撞#include <stdio.h>#include<string.h>#define max 20int set[max][max];int main(){ int n, x, y, tot = 0; scanf("%d", &n); x = -1; y = n - 1;...
2020-02-25 22:19:28
407
原创 算法竞赛入门经典总目录--例题和习题节选
算法竞赛入门经典目录第一章 程序设计入门知识点一:printf输出知识点二:不借住任何变量,交换a,b两个值知识点三:鸡兔同笼知识点四:double的输出输入知识点五:如何判断是否是三角形知识点六:闰年的判断知识点七:int型最小值和最大值知识点八:输出所有形如aabb的4位完全平方数第二章例题2-2:3n+1的溢出问题例题2-4:阶乘之和例题2-5:数据统计习题2-...
2020-02-25 21:05:36
267
原创 第二章 循环结构程序设计--算法竞赛入门经典
第二章 循环结构程序设计–算法竞赛入门经典例题2-2:3n+1的溢出问题int32位整数范围是-2147473648~2147483647,long long是64位的整形可以表示的范围是-2^63 ~ 2^63-1。#include<stdio.h>int main(){ int n2, count = 0; scanf("%d", &n2); long lo...
2020-02-25 20:43:49
460
原创 第一章 程序设计入门--算法竞赛入门经典
第一章 程序设计入门–算法竞赛入门经典知识点一:int m=25;printf("%d\n",m);printf("%03d\n",m);输出如下:25025知识点二:不借住任何变量,交换a,b两个值方法1:#include<stdio.h>int main(){ int a, b; scanf("%d%d", &a, &b); a = ...
2020-02-25 18:33:28
652
原创 Git指令解释
$ mkdir learngit//在当前目录下创建一个文件夹$ cd learngit//进入learngit$ pwd//显示当前路径$ git init//将当前目录变为git可以管理的目录$ git add hello.txt//提交变动到暂存区$ git reset HEAD readme.txt//撤销暂存区的修改,并不会把修改工作区的内容$ git commit -m “...
2019-12-28 11:10:25
145
原创 使用MIDL编译IDL文件
一、先在CMD下运行vcvarsall.bata.在CMD中cd到VS的vc的安装路径:cd C:\Program Files (x86)\Microsoft Visual Studio 14.0\VCb.接着输入vcvarsall.bat X86二、编译你的idla.在CMD中cd到你的idl所在的目录:cd E:\testForwork\ComWorkPlace\OutofProc\D...
2019-11-29 20:26:04
2282
原创 OnPaint的使用,让窗口立即重绘的方法,CPaintDC的使用及各种DC的使用
一、CPaintDC的使用及各种DC的使用摘自在c++ 编程中常会见到HDC,CDC,CClientDC,CPaintDC,CWindowDC这样的类。HDC是DC的句柄,API中的一个类似指针的数据类型。CDC是MFC的DC的一个类。CDC等设备上下分类,都含有一个类的成员变量:m_nHdc;即HDC类型的句柄。CDC及其派生类的继承视图:CObjectpublic |-----...
2019-11-07 17:29:43
3452
原创 com组件调用regsvr32的时候调试DllRegisterServer时候遇到的问题
当用regsvr32注册com的时候,在DllRegisterServer里面断点调试。在COM项目里面的配置属性配置如下:我是写的是32位的COM在64位机器运行所以命令要输入C:\Windows\syswow64\regsvr32.exe64位的COM在64位机器运行默认的**C:\Windows\system32\regsvr32.exe **即可。What you need is...
2019-11-01 11:25:28
761
原创 COM组件通过DllRegisterServer注册时候找不到CLSID
其实是找错地方了,我写的是一个32位的COM,在64位的电脑上注册CLSID。long lResult = RegCreateKeyEx(HKEY_CLASSES_ROOT,szKeyBuf,0, NULL, REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS , NULL,&hKey, NULL);一开始这样写代码,会把CLSID注册到计算机\HK...
2019-10-31 20:51:14
1982
原创 DirectShow在windows10上配置开发环境遇到的问题
1.安装DirectShowSDK开发包我用64位Windows10加VS2015目前,新版的DirectShow并没有包括在DirecxtX中一起发布,而是和Windows SDK一起打包发布,因此首先要下载最新的Windows SDK,里面包含了DirectShow的头文件和库文件。64位选择下载 GRMSDKX_EN_DVD.iso,如果是32位操作系统就要选择下载 GRMSDK_EN...
2019-10-15 11:51:21
1429
3
转载 OPEN CASCADE学习笔记一
https://wenku.baidu.com/view/d835eef20740be1e640e9a20.htmlDEDEFINE_STANDARD_HANDLE
2019-06-04 19:46:11
778
原创 扫描ip
法一#include <stdio.h>#include <string>#include<iostream>using namespace std;void IPAddressParse(string &IpAddress, const unsigned int numericIp){ string temp; temp += to_...
2019-04-15 10:46:17
192
原创 VS的Ribbon
简单教程第十部分:Ribbon界面开发1.Ribbon的界面元素可以分为类别、面板和基本控件(按钮、文本编辑框等),类别由面板组成,面板又由按钮、文本编辑框等基本控件组成。主页标签下的整个界面就是类别,Clipboard和View对应的就是面板,每个面板都有一些按钮、复选框等基本控件。...
2019-04-10 10:40:20
830
用C++写的com自注册进程内组件加测试程序Dictionary.rar
2019-11-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人