- 博客(94)
- 问答 (1)
- 收藏
- 关注
原创 【GD32】GD32F303串口设置DMA发生中断无法进入中断函数
看数据手册,CHCTL是通道控制寄存器,bit0是CHEN通道使能位,bit1时FTFIE通道传输完成中断使能为,bit2是HTFIE通道半传输完成中断使能,bit3是ERRIE通道错误中断使能位。该函数主要是开启DMA通道的中断,DMA_INT_FTF开启的是通道传输完成中断。在GD32F303官方提供的串口例程中,有一个DMA发生和接收中断例程,在模仿着写的过程中,能够正常发送数据,但是无法进入中断函数。函数凑在一起,都是使能中断,看起来顺眼,没想到不能提前开启中断。到这里,我就看出来了。
2023-10-16 22:38:54
3115
原创 汇川技术内推码
嵌入式软硬件,机器人算法,电机控制,通信软件,PLC,电源算法,电源硬件,市场研发,应用软件等众多岗位职等你来[庆祝][庆祝][庆祝][庆祝][庆祝]不一样的内推码[庆祝]:IVSM2R 投递了可以评论下名字,我会帮忙留意进度。投递链接:https://inovance.m.zhiye.com/xz.html。汇尔成川,共赴星海,欢迎加入,职等你来。
2023-08-29 21:51:18
474
原创 【Qt系列】QtableWidget表格列宽自适应表格大小
接下来解释一下这个函数,horizontalHeader返回的是表格的垂直行标题,也就是第一行标题栏。这是个特殊的类,叫QHeaderView类。对标题栏进行调整,往往就是对这个类进行调整。这个表格只有5列,只占据了表格的一部分,不是很好看。QHeaderView::ResizeMode就是模式的枚举量,主要就是调整标题栏大小,即列宽。setSectionResizeMode函数是上述类的一个函数,设置标题如何调整为给定模式所描述的大小。核心代码如下,最重要的是最后一句,让标题栏自适应大小。
2022-10-28 20:42:24
14866
4
原创 【C++】decltype类型指示符的用法
在秋招笔试中遇到这样一道题目,于是编写该文章对decltype进行一个总结,方便以后翻阅。C++有两种类型说明符,auto和decltype。它们的区分在于auto必须要计算表达式然后推断数据类型,而decltype不实际计算表达式的值。
2022-09-22 16:51:24
503
原创 【C++】编程题遇到行数不固定的字符串(以逗号或空格分割)
istringstream从string读取数据,ostringstream向string写入数据,而stringstream即可从string读取数据,也能向string写数据(也是后面用到的)。getline和cin都是可以读取字符串,但是cin读取字符串是以空格符、换行符、制表符为结束标志,getline是以换行符为读取标志。...
2022-08-17 12:01:36
612
原创 【Linux】探究函数是怎么完成链接和跳转的
系统在执行代码的时候,遇到对应的函数,是如何跳转到对应函数体内运行的?函数是怎么保存在可执行文件当中的。
2022-08-11 21:33:30
898
原创 【C语言】自定义编写strcpy函数、strcat函数、substr函数、stoi函数
C语言本身有自己的拷贝字符串,该函数接收两个参数,一个是源字符数组,一个是目标字符数组。调用该函数一定要保证dst字符数组的空间足够大,不然就会产生错误。该函数会把src的‘\0’也复制过去,并返回第一个参数的副本。第一个函数是将src全部拷贝过去,第二个函数是将src部分拷贝过去。dst++和src++里面的++是后置自增运算符,代表先完成赋值运算,再进行自增,并且赋值运算符返回就是成功赋的值,所以可以拿来做判断。.........
2022-08-10 23:18:33
1252
1
原创 【C++】智能指针如何实现引用计数?用static计数会产生什么问题?
定义一个myclass类,里面包含一个num成员变量和一个getNum函数。privateintnum;publicnum(n){cout
2022-07-26 17:44:34
2486
原创 【C++】当ACM模式中,不定行输入数据,且每行字符串以逗号隔开或空格隔开
数据如上,行数是不固定的,且每行字符串多少个不固定,用逗号隔开,输出要求排序。
2022-07-22 23:37:03
1997
1
原创 【Linux】wait函数 和 waitpid函数
在每个进程退出的时候,内核释放该进程所有的资源、包括打开的文件、占用的内存等。但是仍然为其保留一定的信息,这些信息主要值进程控制块PCB的信息,包含自身进程号、父进程号、退出状态、运行时间等。父进程可以通过调用wait或waitpid得到它的退出状态同时彻底清除掉这个进程。wait()和waitpid()默认情况下都是堵塞等待,waitpid()可以设置不堵塞,还可以指定等待哪个子进程结束。一次wait或waitpid调用只能清理一个子进程,清理多个子进程应该使用循环。.........
2022-07-18 21:18:00
261
1
原创 【C++】只允许一次类类型隐式转换,字符串字面量并不是string类型
Demo类本身并没有接收字符串字面值的转换构造函数,但是有针对string的转换构造函数,所以这里面发生了一次隐式转换,将字符串字面值转换为string,然后调用string转换构造函数。这里发生了两次转换,第一次是字符串字面值转换为string,第二次是string转换为Demo类型。因为第一次的字符串字面值转换为string是显式转换,编译器只需要完成一次string转换为Demo类,没有超过一次。所以代码中以string为形参的构造函数就是一条string转换为Demo类型的转换构造函数。......
2022-07-18 16:59:09
643
1
原创 【Linux】同一个进程内open同一文件和父子进程间的文件共享
同一个进程内open打开同一文件,父子进程间的文件描述表和打开文件表格如何变化?
2022-07-15 22:51:25
1967
原创 【C++】对拷贝构造函数 深浅拷贝 的理解 拷贝构造函数作用及用途?什么时候需要自定义拷贝构造函数?
对拷贝构造函数 深浅拷贝 的理解 拷贝构造函数作用及用途?什么时候需要自定义拷贝构造函数?
2022-06-22 23:07:38
929
原创 【算法】LeetCode第6076题,如何确定用int还是long long及不要对浮点数进行【等于比较】
这是LeetCode周赛的一道题目,难度是中等。思路很简单,细节容易出错。思路只要不断比较斜率,出现新的斜率,线段数就加1。细节class Solution {public: int minimumLines(vector<vector<int>>& pri) { int n = pri.size(); sort (pri.begin(), pri.end()); if (n == 1) return 0;.
2022-05-22 14:35:26
602
原创 【C++】类的拷贝构造函数参数为什么一定要是引用类型?
在《剑指offer》里面有这样一道面试题,以下代码会出现什么问题。class A {private: int value;public: A(int n) {value = n;} A(A other) {value = other.value};};int main(){ A a = 10; A b = a; }答案是编译错误。主要的错误点在于A(A other) {value = other.value};。这里具体分析下为什么这个拷贝构造函数参数不能是传值参数。拷贝构造函数
2022-05-17 16:30:41
1270
原创 【C++】设计模式------单例模式(懒汉和饿汉)
本文参考自《大话设计模式》,想借此记录一下对书本内容的理解,并以自己项目为例子采用C++语言进行举例。概念单例模式,保证一个类仅有一个实例,并提供一个访问它的全局访问点。通俗点讲,在程序当中创建了一个类,我们希望它仅能被实例化一次,产生一个对象。我们不能靠程序员去控制自己只能实例化一次,这是非常不保险的,我们需要代码内在机制帮助我们去控制这样的行为,这就是设计模式的意义。假设一个项目当中只能存在一个AGV(无人小车)对象。三个要点某个类只能有一个实例它必须自行创建这个实例它必须自行向整个系统提
2022-05-13 18:56:33
3342
1
原创 【算法】Leetcode第34题在排序数组中查找元素的第一个和最后一个位置(二分查找的特殊修改)
二分查找的一般模板如下所示,首先边界取的是0和n-1,左边界和右边界都可以取值,所以while的条件语句是left小于等于right。这个一般模板适用的是无重复的有序数组。 int left = 0; int n = nums.size(); int right = n - 1; while (left <= right) { int mid = left + (right - left) / 2; //找中
2022-04-28 17:05:54
626
1
原创 union共用体以及如何判断大小端?
在C语言当中,有一个和结构体非常像的语法叫共用体(Union)。union myunion { int a; char b;};union myunion test;在共用体中,所以成员共用一段内存,对某一个数据成员赋值,其他成员也就失效了。在上述例子中,a占4个字节,b占1个字节,所以test的占据内存大小取他们的最大值4个字节。如图所示,a和b靠地址较小一边对齐,a和b共用一段内存。如果对a赋值,影响了4个字节内存,如果对b赋值,影响了1字节内存,所以不管是谁赋值,都会影响另外一个。刚好
2022-04-22 15:59:15
3253
1
原创 【C++】 const类型总结和赋值判断
关键词const是什么含义?const是只读变量,意味着不能对变量进行写入操作。const int a; //a为常量int const a; //a为常量const int *a; //a为普通指针,指向的是const常量int * const a; //a为常量指针,指向的是普通变量int const * a const; //a为常量指针,指向的是const常量本质:const在谁后面谁就不可修改,const在最前面则将其后移一位即可,二者等效因为const变量一经初始化就不能被
2022-04-14 15:14:42
1964
原创 【算法】Leetcode第215题堆排序内部原理分析(C++)
1.前言第一种方法是基于快速排序的选择方法【算法】Leetcode第215题快速排序内部原理分析(C++)。按照Leetcode官方题解的说法,堆排序是常见的面试问题,所以还是分析一下原理。2.基本原理2.1构建二叉堆我可以用一个完全二叉树去表示数组,根结点在位置0,它的子结点在位置1和2,而子结点的子结点则分别在位置3、4、5、6,以此类推,直到数组元素都用完。这样形成的二叉树,又称二叉堆。二叉堆是一组能够用推有序的完全二叉树排序的元素,并在数组中按层级存储。在下文中,我们将二叉堆称为堆。
2022-04-12 17:33:42
1454
3
原创 【算法】Leetcode第215题快速排序内部原理分析(C++)
1.前言LeetCode第215题目为数组中的第K个最大元素,这个题目可以用库函数sort直接排序然后完成。sort(nums.begin(), nums.end());return nums[nums.size() - k];sort函数原理是快速排序,接下来去探究一下这个算法的本质。快速排序是由C.A.R Hoare在1960年发明的,快速排序可能是应用最广泛的排序算法了,如它名字所述,该算法的特点就是快,一般时间复杂度是O(nlgn),但是在某些特殊情况下,时间复杂度会达到(n²)。2
2022-04-12 15:50:20
2172
原创 set、multiset的自定义类型的自定义排序规则的两种方法(C++)
对于像set、multiset之类有序容器,默认情况下,标准库使用关键字类型(key)的<运算符来比较两个关键词。 set<int> set ; set.insert(7); set.insert(3); set.insert(10); for (auto it = set.begin(); it != set.end(); ++it) cout<<*it<<endl;插入顺序是7、3、10,但是遍历
2022-04-09 22:10:32
2522
原创 【算法】Leetcode1823. 找出游戏的获胜者、圆圈中的最后剩下数字、约瑟夫环问题(C++版本)
题目Leetcode的第1823题和《剑指offer》的面试题62都是一种类型的问题,即约瑟夫环(Josephuse)问题。两者稍微优点不同,Leetcode的题目是从数字1开始,《剑指offer》的题目是从数字0开始,这个不影响方法,后面以数字1开始进行讲解。方法一:经典接法,用环形链表模拟圆圈注意题目的要求是圆圈中,所以我们创建一个共有n个节点的环形链表,然后每次在链表当中删除第m个节点。这种方法可以称作模拟法,就是按照人家的玩法一步步做。C++有一个顺序容器std::list,可以用来模拟
2022-04-08 21:32:44
5117
原创 win10系统连接wifi后可以上网但是显示【无Internet,安全】解决 and Maple初始化失败问题
解决Maple和Maple Sim软件初始化错误问题,解决连接wifi可以上网但是显示【无Internet访问】问题~
2022-04-01 09:43:49
4596
6
原创 【qt系列】官方例程elasticnodes解析,包含自定义item和自定义view以及他们之间的交互
以下文字翻译自Qt官方自带例程说明,并加入了自己的理解与说明。弹性节点示例演示如何使用基本交互在图形中实现节点之间的边。您可以单击以拖动节点,并使用鼠标滚轮或键盘放大和缩小。点击空格键将随机化节点。该示例也是独立于分辨率的;放大时,图形仍然清晰。图形视图提供了 QGraphicsScene 类,用于管理和与从 QGraphicsItem 类派生的大量自定义 2D 图形项进行交互,并提供一个 QGraphicsView 组件来可视化这些项,并支持缩放和旋转。此示例由 Node 类、Edge 类、Gr
2021-12-24 10:02:13
1928
1
空空如也
STM32G471芯片spi设置了8位,总是发送16位
2024-05-23
TA创建的收藏夹 TA关注的收藏夹
TA关注的人