- 博客(19)
- 收藏
- 关注
原创 STM32H5 SPI接口 访问非标准SPI ADC(AD7768)
当前许多的精密模数转换器(ADC)模块都有串行外设接口(SPI)或一些串行接口,用于控制器通信。而为了使ADC实现更快的吞吐速率,一些ADC采用了具有非标准三线或四线SPI作为节点。本次使用的AD7768芯片具有多条SDO线路,它们用作SPI电源。在使用该类ADC芯片时需要使用非标准SPI读取数据。图1.AD7768具有两个数据输出引脚。
2024-09-16 16:36:55
1852
2
原创 STM32H563 HAL库 LWIP裸机移植 (包含源代码 一文搞定 )
本博客使用的是STM32H563型号MUC。该型号在CubeMX中目前还不支持直接生成LWIP协议(2024.7.20),所以,需要在官网找到LWIP中间件及驱动(LAN8720A)手动移植。
2024-08-14 17:12:40
3036
6
原创 STM32F429及STM32H563 基于CubeMX HAL库LWIP裸机移植(超详细)
最近在用HAL库做LWIP协议栈中的TCP协议的通讯,开始使用的是STM32F429单片机,移植方法比较简单使用CubeMX直接生成即可。后续因为项目原因更换了MCU型号,更换成了STM32H563单片机,CubeMX目前还不支持直接生成该型号的LWIP协议栈,但是可以先配置ETH后续手动移植LWIP协议栈。本博客将两种移植方式都记录一下,大佬们发现有瑕疵的地方麻烦提醒一下,共同进步。
2024-07-14 11:58:46
1570
7
原创 STL模板库-set容器
set 的特性是。所有元素都会根据元素的键值自动被排序。set容器的键值和实值 是同一个值。set 存储的键值是唯一的。set容器的迭代器 是只读迭代器。插入数据后 不允许修改set的键值。set 拥有和 list 某些相同的性质,当对容器中的元素进行插入操作或者删除操作的 时候,操作之前所有的迭代器,在操作完成之后依然有效,被删除的那个元素的迭 代器必然是一个例外。set存储自定义对象,必须要自己定义排序规则//声明Person类public://声明排序函数。
2023-11-24 22:52:07
343
1
原创 STL模板库-list容器
List 容器是一个双向链表list容器的迭代器是:双向迭代器相较于 vector 的连续线性空间,list 就显得负责许多,它的好处是每次插入或者删除一个元素,就是配置或者释放一个元素的空间。对于任何位置的元素插入或元素的移除,list 永远是常数时间。
2023-11-22 22:08:34
544
原创 STL模板库-queue容器
Queue 是一种先进先出(First In First Out,FIFO)的数据结构,它有两个出口,queue 容器允许从一端新增元素,从另一端移除元素。队头:出数据 队尾:入数据queue 没有迭代器:Queue所有元素的进出都必须符合”先进先出”的条件,只有 queue 的顶端元素,才 有机会被外界取用。Queue 不提供遍历功能,也不提供迭代器。
2023-11-19 20:27:32
83
1
原创 STL模板库-deque容器
Vector 容器是单向开口的连续内存空间,deque 则是一种双向开口的连续线性空间。所谓的双向开口,意思是可以在头尾两端分别做元素的插入和删除操作,当然, vector 容器也可以在头尾两端插入元素,但是在其头部操作效率奇差,无法被接受。一 deque 允许使用常数项时间对头端进行元素的插入和删除操作。常数项时间:提升性能的方式,插入和删除的时间复杂度几乎不变二 deque没有容量的概念,因为它是动态的以分段连续空间组合而成,随时可以增加一段新的空间并链接起来。
2023-11-13 23:04:08
118
1
原创 STL模板库-Vector容器
使用vector容器存储自定义的对象并打印class Person //创建一个类//将打印函数作为友元private:int age;public:Person(){} //无参构造Person(string name,int age) //有参构造void printVectorPerson(vector &v) //打印函数while(it!= v.end()) //判断迭代器是否遍历到最后//解引用后才可以访问类成员属性it++;//迭代器++
2023-11-12 20:40:06
127
1
原创 STL模板库-String容器
C 风格字符串(以空字符结尾的字符数组)太过复杂难于掌握,不适合大程序的开发, 所以 C++标准库定义了一种 string 类,定义在头文件。String 是一个类,系统为我们封装了方法,来存储和管理字符串。
2023-11-12 16:17:23
106
1
原创 C++从入门到精通 (7) (多态) 连载!!!
重载: 没有继承关系 函数重载或运算符重载函数名相同 函数形参的个数或类型不同 会构成重载(返回值不同不能构成重载)重定义: 有继承关系 父类和子类的函数名相同(非虚函数) 返回值和形参可以不同 就会构成重定义重写: 有继承关系 子类重写父类的虚函数(关键字virtual) 返回值 函数名 形参 必须和父类虚函数相同。
2023-11-09 22:30:57
73
1
原创 C++从入门到精通 (5) (适合C入门后C++进阶) 连载!!!
重载函数: operator操作步骤:1.考虑运算符有多少参数个数;确定多少个,则重载时需要写多少个2.运算符函数的左边是自定义对象还是其他类型左边:是其他 只能全局函数实现 (必须使用全局友元)左边:自定义对象可以用全局友元(参数个数 和 运算符对象的个数一致)成员函数(参数可以少一个) (推荐用途:托管new出来的对象的释放设计一个智能类 内部维护new出来的person类 在析构的时候释放堆区new出来的person对象public:cout<<"构造函数"<<endl;
2023-11-07 22:42:32
70
原创 C++从入门到精通 (4) (适合C入门后C++进阶)连载!!
单例就是静态成员的一个应用场景概述 每一次创建的类对象都是同一个对象;好处:节约空间。
2023-11-06 22:25:05
67
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人