- 博客(25)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
原创 keil编译链接文件警告Pattern *.o(RAMCODE) only matches removed unused sections
从提示看是链接文件中,RAM中原先分配给代码存储的空间没有用上。解决办法:删除掉上图中红框里面代码;
2023-08-17 10:27:14 1394
原创 vscode 实现代码编译
vscode 实现代码编译之前一直纠结用vascode的编译按钮实现编译,这样就需要额外配置json文件,会非常麻烦,其实vscode也支持用编译命令,具体步骤如下:新建makefile文件,文件内容如下:target:gcc *.c -o run.exe./run.exe其中run是要生成的exe文件名称;点击页面“+”,选择Power shell或Git Bash;终端输入make指令,即可实现运行;你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar
2023-05-06 16:11:01 4005
原创 C语言基础夯实
按位右移>>之前比较熟悉无符号数右移,比如b101 >> 2 = b1,那么有符号数右移呢?-5 >> 2即 b11111011 >> 2 = b11111110 = 0有符号数右移左边的二进制位补1,无符号数右移是左边的二进制位补0。2. 按位与&和逻辑与&&的区别逻辑与是将要运算的两个数看作一个整体,而这个整体如果是0,则该数被定义成逻辑假(0);如果该数不为0(不管是正的还是负的),则被定义成逻辑真。3 &am.
2022-05-02 18:19:26 1047
原创 PPT中加水印的方法
PPT中加水印的方法网上介绍的比较多的是在PPT母版中加艺术字的方法,这种方法有时候只能对部分页面加上水印,且艺术字的透明度无法调节,非常不方便,本人介绍另外一种PPT加水印的方法:插入-》艺术字-》文本选项-》透明度调至80%形状选项-》大小,调节水印位置和倾斜度最后成品...
2022-05-02 16:54:34 1590
原创 16进制负数字符串转化成int型
采用MFC提取log过程中,有时候会遇到16进制负数字符串提取的问题。网上会很普遍的看到这样的描述:“你也可以考虑使用_tcstoul()或者_tcstol(),它们都能把字符串转化成任意进制的长整数(如二进制、八进制、十进制或十六进制),不同点在于前者转化后的数据是无符号的”如果你真的用_tcstol()去转化16进制负数字符串时,你会发现:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aIcjDjQT-1650451117440)(http://10.12.47.3
2022-04-20 18:39:37 1217
原创 Python学习(一)
除法与整除区别a = 3 / 2print(a) # 1.5a = 3 // 2print(a) # 1变量赋值a = 'ABC'b = aa = 'XYZ'print(b) #ABC格式化输出print('%2d-%02d' % (3, 1))print('%.2f' % 3.1415926)listclassmates = ['Michael', 'Bob', 'Tracy']print(classmates[0])print(classmates).
2022-03-27 15:03:03 739
原创 QLineEdit的信号与槽用法
QLineEdit一共有6个信号函数,并不多,很好理解。1. void cursorPositionChanged( intold, intnew )当鼠标移动时发出此信号,old为先前的位置,new为新位置。2. void editingFinished()当 按返回或者回车键时,或者行编辑失去焦点时,发出此信号。注意:当QLineEdit设置了validator() orinputMask()函数,验证器or输入掩码,并按了返回或回车键,信号只有在 输入内容符合输入掩码
2021-04-29 17:43:31 20656 3
原创 MFC 定时器的使用
MFC中定时器的使用有两种方法:消息通知的方法;回调函数的方法;消息通知的方法比较简单,只需要在控件界面生成一个OnTimer的消息映射函数就行。以在界面生成两个定时亮灭的红绿灯为例:首先用画图软件生成两个bmp格式位图,保存至工程的rec目录下,并加载;然后在界面上放置两个按键和两个picture control控件,如图所示:注意:picture control控件的type属性要选择为bitmap,且image要选择相应的位图;采用消息通知方式的代码:void CTimer10
2020-10-08 17:56:50 2979
原创 关于MFC USB HID相关内容的学习
创建线程函数:m_pReadReportThread=AfxBeginThread( ReadReportThread,//创建线程的地址,线程函数入口 lpParam, //线程参数,一般为this THREAD_PRIORITY_NORMAL,//线程优先级 0, //线程堆栈大小 CREATE_SUSPENDED, //设置线程的标志位 NULL); //设置后线程处
2020-07-18 17:39:48 241
原创 C语言动态内存管理
1.动态内存申请void *malloc(unsigned int size);其作用是在内存的动态存储区中分配一个长度为size的连续空间。此函数的返回值是分配区域的起始地址。例如:malloc(100);//开辟一个100个字节的临时分配域,返回值为其第一个字节的地址。地址的基类型为void,即不指向任何类型的数据,只提供一个地址。如果此函数未能成功的执行(例如内存空间不足),则返回空(NULL,即0)。在实际开发过程中,一般定义一个指针来指向动态分配的内存地址。例如:int *p=ma
2020-06-21 14:47:57 199
原创 STM32 DAC+TIMER+DMA输出正弦波
前段时间学习了STM32使用DAC模块输出正弦波的功能,在学习过程中遇到了一些问题,在此和各位分享。DAC是数字/模拟转换模块的简称,STM32中的DAC是12位数字输入,这个就决定了其精度。STM32的DAC模块具有两个通道,可单独进行转换,也就是说可以同时输出两个正弦波或其他波形。输出正弦波的原理简单讲就是每隔一定时间向DAC的数据寄存器写入数据,然后进行数据转换,输出不同电压,然后在时间轴上显示出波形。这里比较重要的一个公式就是数字量和模拟量的转换公式:STM32芯片内部有个参考电压:VREF
2020-06-20 09:55:23 9164 10
原创 结构体的位域操作方法
今天看代码看到如下一段,不明白结构体成员后面:11,:5的意思,经过百度后,才晓得这是结构体的位域操作方法。typedef union { int word; struct { int scan_period :11; int doze_times :5; int reserved31_16 :16; } bit;} SCAN_CTRL1_UN;下列一行代码表示scan_period这个成员变量在32bit中占据11bit.int scan_period :11;
2020-06-09 15:33:57 571
原创 嵌入式软件开发学习(一)
最近一直在学习ARM Cortex-M0 Cortex-M0+权威指南,在这做简单总结:以前玩STM32开发板,一直不明白例程中对外设为什么要定义结构体,但是看了这个书本后才明白,设置结构体在大型程序编程时能降低维护难度,并简化代码。(1)传统的应用指针定义和访问UART外设寄存器#define UART_BASE 0x40003000 //基地址#define UART_DATA ...
2020-03-24 14:03:31 447 1
原创 向量vector容器学习
1、vector性能与数组array相似,使用连续的存储位置存储其元素,可以采用常规指针偏移量访问,但是与数组不同,其大小可以动态改变。与其他动态序列容器(双端队列deques,列表lists和forward_lists)相比,向量vector在访问其元素(就像数组)方面非常有效,并且从其末尾添加或删除元素都相对高效。 但对于涉及在末尾以外的位置插入或删除元素的操作,它们的性能比其他方法差,并...
2020-03-21 12:32:51 234
原创 STL算法(一)
简单总结今天学习的STL算法相关知识:STL算法分类:(1)不可变序列算法#include<iostream>#include<vector>#include<functional>#include<algorithm>using namespace std;int main(){ int iarray[] = { 0,1,2,3...
2020-03-19 18:06:04 249
原创 STL中函数适配器
首先为什么要用函数适配器?STL中的函数适配器分类:(1)绑定适配器用法将一个操作数绑定到给定值而将二元函数对象转换为一元函数对象。bind2nd:将给定值绑定到二元函数对象的第二个实参;bind1st:将给定值绑定到二元函数对象的第一个参数;示例程序如下:#include<iostream>#include<vector>#include<fu...
2020-03-19 10:54:32 255
原创 STL提供的函数对象
要使用STL提供的函数对象,则必须添加头文件#include(1)用于算术运算的函数对象:一元函数对象:即仅有一个参数的函数对象negate(取反,1变为-1);例子:templateclass square{public:T operator()(T &v){return v * v;}};transform(s.begin(), s.end(), ostr...
2020-03-18 16:58:33 181
原创 STL_函数对象(一)
函数对象定义:(1)一个行为类似函数的对象;(2)可以没有参数,也可以带有若干个参数;(3)其功能是获取一个值,或者改变操作的状态;函数对象的形式:(1)普通函数就是函数对象;示例代码:#include#include#include#include#includeusing namespace std;int main(){const int N = 5;vect...
2020-03-18 15:58:59 166
转载 多重集合(multiset)和多重映射(multimap)
首先看关联容器分类:多重集合是允许有重复元素的集合,多重映射是允许一个键对应多个数据的映射。示例代码:#include#include#include#includeusing namespace std;int main(){multimap<string, string>courses;//定义多重映射typedef multimap<string, ...
2020-03-18 11:32:56 1060
转载 STL学习篇_set和map容器用法
STL学习篇_set和map容器用法1.set容器的用法set(集合)属于关联类型容器,具有以下特点:(1)有序,插入到set中的元素会自动排序;(2)无重复,怎么判定插入到set容器中的元素是否重复呢?使用double v;pair<set::iterator, bool>r;r = s.insert(v);if (!r.second)cout << ...
2020-03-18 10:19:54 192
原创 QT修改标题栏图标
作为一个刚学QT图像化界面应用程序的菜鸟,记录下QT修改标题栏图标的过程:1.网上下载16X16像素的ICO图片2.将ICO图片放入到程序所在的文件夹中3.创建新项目——》QT——》QT Resource File,如图所示![在这里插入图片描述](https://img-blog.csdnimg.cn/20190609142053354.png?x-oss-process=image/w...
2019-06-09 14:34:55 5196 1
原创 Leetcode探究初级算法题目:买卖股票的最佳时机 II
题目如下:给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入: [7,1,5,3,6,4]输出: 7解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔...
2019-05-17 17:07:51 188
原创 LeetCode算法题目:从排序数组中删除重复项
为了备战9月份的秋招,作为代码渣渣开始练习力扣上的题目今天做的是一道算法题,题目大意如下:给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。示例 1:给定数组 nums = [1,1,2],函数应该返回新的长度 2, 并且原数组 nums 的前两个元...
2019-05-16 22:23:13 260 1
原创 MFC联合HAlcon双相机单帧采集图片
这里写自定义目录标题问题:程序运行时首次采集都能行,再次点击CCD1,CCD2采集按钮,MFC界面的Picture Contrl控件直接黑屏了,但是我在if(CCD1==0){ }内增加了状态显示程序,显示已经进入到了if(){}语句内,但是图像就是显示不了,不清楚为什么?有木有大神知道原因//CCD1采集按钮的程序void CCounterPointsDlg::OnBnClickedCc...
2019-01-15 20:56:16 2703 1
在非线性的闭合区域内填充颜色
2021-09-13
TA创建的收藏夹 TA关注的收藏夹
TA关注的人