- 博客(28)
- 资源 (1)
- 收藏
- 关注
原创 CubeIDE如何导入已存在的文件夹
在CubeIDE中如何导入已存在的文件夹CMSIS_DSP1是我移植的DSP库,现在我想要把它加入到CubeIDE的Drivers下在Drivers添加链接,链接到CMSIS_DSP1完成后,如下所示添加路径点击应用编译正确。
2025-04-10 10:11:19
196
原创 ST云端测试AI模型 --- ST Edge AI
ST 边缘人工智能开发云是一组云服务,允许在 STM32、Stellar-E 和 ISPU 目标上优化、量化、基准测试和部署训练好的神经网络。获得神经网络的运行时间和所占硬件资源包括所占RAM、FLASH还可以下载转化后的C代码、CubeMX IOC文件、CubeIDE工程等文章中还测试了我手头上相同型号开发板运行相同神经网络的运行所用时间,以此来验证云平台(后台接着实物开发板)。本文简单解释了ST Edge AI 如何使用以及通过作者在实物板上进行运行,进行对比。验证了云平台的可靠性。
2025-02-25 16:12:55
879
原创 STM32CubeProgrammer如何实现自动连接下载烧录
STM32CubeProgrammer 版本:2.18.0本文主要介绍2.18.0新版本的功能,自动下载模式。提示:以下是本篇文章正文内容,下面案例可供参考通过上述方法,我们就可以在STM32CubeProgrammer上实现连续烧录。
2025-01-15 10:05:22
282
原创 没有FPU的我,该怎么办--M3 vs M4
Cortex-M3是一个32位处理器内核,采用哈佛结构,拥有独立的指令总线和数据总线,可以让取指与数据访问并行不悖。对于定点 CPU(没有 FPU 的 CPU),来说必须要按照 IEEE-754 标准的算法来完成运算(是相当耗费时间的)。
2022-09-20 22:39:42
540
原创 Linux调试器--gdb的使用
程序监测了sum和i 的值,每走一次就会显示一次。关闭用display ,关闭时,格式: undisplay 编号。1号断点在0x10056a断点处,文件是在file test.c 第16行。display 变量名:跟踪查看一个变量,每次停下来都显示它的值。显示binFile源代码,接着上次的位置往下列,每次列10行。finish:执行到当前函数返回,然后停下来等待命令。先调出行号---->打断点---->运行。查看当前的断点情况(有几个断点,当前)可以看到,加入调试信息后,文档变大。
2022-09-05 21:18:51
683
原创 map和set
比较多,但是却又不知道哪种水果比较受欢迎,然后公司就让每个员工报告了自己最爱吃的k种水果,并且告知已经将所有员工喜欢吃的水果存储于一个数组中。然后让我们统计出所有水果出现的次数,并。且求出大家最喜欢吃的前k种水果。...
2022-07-27 09:55:33
172
转载 面向对象vs面向过程的区别
转至面向过程 VS 面向对象面向过程:事件为中心的编程思想,编程的时候把解决问题的步骤分析出来,然后用函数把这些步骤实现,在一步一步的具体步骤中再按 顺序调用函数。解决问题的步骤----面向对象:以“对象”为中心的编程思想,把要解决的问题分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个对象在整个解决问题的步骤中的属性和行为。问题分解为->对象 描述某个对象在整个解决问题的步骤中的属性和行为面向过程的优点:流程化使得编程任务明确,具体步骤清楚,便于节点分析
2022-06-23 16:30:40
121
原创 二叉搜索树
作用:搜索查找一个数,最多查找高度次O(N)概念:(二叉排序树)或者是一棵空树int a[] ={5,3,4,1,7,8,2,6,0,9}性质如下:若左子树不为空,则左子树的所有节点 < 根节点的值若右子树不为空,则右子树所有节点 > 根节点的值左右子树也分别为二叉搜索树整体代码:BinarySerchTree.h#pragma oncetemplate<class K> //创建函数模板。k可以是任何类型struct BSTreeNode{ BS
2022-05-10 22:34:56
158
原创 day2每日一题编程
计算糖果进制转换#include <iostream>#include <string>#include <algorithm>using namespace std;int main(){ string s,table = "0123456789ABCDEF"; int m,n; cin>>m>>n; bool flag = false; //如果是负数,则转正,并标记一下
2022-04-08 08:49:36
141
原创 每日一练day4
解析:选c二进制:101010b 后缀为b八进制:0123 以0开头,数字不超过8十进制:123 数字不超过9十六进制:0x123 123h 以0x开头,或者后缀为h%d:十进制方式输出 %o:八进制方式输出 %x:十六进制输出int m=0123;直接就是八进制形式,要求输出为八进制,及输出0123int n=123;十进制形式。输出为八进制,涉及到十进制转化为八进制,方法如下:.
2022-04-07 21:32:06
152
原创 每日一练day3
以下程序的输出结果是解析:选B定义了一个字符数组,数组大小为10,并进行了初始化。a是一个数组名,也是一个指针常量,指向数组首元素的。a+8是向后偏移8个指针类型的大小,指针类型为char,也就是向后偏移8个字节。->指针变量p是指向字符9的。-3是向前偏移3个指针类型大小,->指针变量p-3是指向字符6的。选B二维数组行可以省略,但是列是不可以省略的。C选项声明的是2行4列,但初始化时是3行,故错误D初始化时有间隔,故错误选Areturn 每次只能return一个
2022-04-03 21:30:30
621
原创 day1编程
组队竞赛来源:牛客网牛牛举办了一次编程比赛,参加比赛的有3*n个选手,每个选手都有一个水平值a_i.现在要将这些选手进行组队,一共组成n个队伍,即每个队伍3人.牛牛发现队伍的水平值等于该队伍队员中第二高水平值。例如:一个队伍三个队员的水平值分别是3,3,3.那么队伍的水平值是3一个队伍三个队员的水平值分别是3,2,3.那么队伍的水平值是3一个队伍三个队员的水平值分别是1,5,2.那么队伍的水平值是2为了让比赛更有看点,牛牛想安排队伍使所有队伍的水平值总和最大。如样例所示:如果牛牛把6个队员
2022-04-02 22:25:43
99
原创 每日一练day2
2题常量指针:指针所指向的空间的值不能发生改变,不能通过指针的解引用来修改指针所指向空间的值,但指针的指向可以发生改变。指针常量:指针的本身是一个常量,指针的指向不能发生改变,但指针所指向空间的值是可以发生改变的,可以通过指针的解应用改变指针所指向空间的值。区分: const 与* 的相对位置 * const 常量指针 const 在*的右边:指针常量答案选C...
2022-04-02 20:40:06
895
原创 每日一题 day1
8 单选题解析:"^= " 解读: a ^ b 相当于 a ^= b1 << 5 0000 0001 0010 0000 ->32a^=(1<<5)-1 a= a ^ (32-1) a=21 ^ 3121: 0001 010131: 0001 1111 0000 1010 -&
2022-04-01 22:59:33
424
原创 合并两个有序数组
合并两个有序数组题目描述思路及代码总结题目描述思路及代码//时间复杂度O(M+N) 空间复杂度O(1)没有开辟额外空间void merge(int* nums1, int nums1Size, int m, int* nums2, int nums2Size, int n){ int end1 = m-1, end2 = n-1; int end =m+n-1; while(end1 >= 0 && end2 >= 0) {
2022-02-08 23:46:37
661
原创 删除有序数组中的重复项
删除有序数组中的重复项1.0题目描述2.0 思路及代码3.0 总结1.0题目描述题目链接: 删除有序数组中重复项给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成2.0 思路及代码三指针:int removeDuplicates(int* nums, int numsSize){ if(numsSize == 0) //考虑
2022-02-08 22:15:22
668
原创 【移除元素】
移除元素-快慢1.题目描述2.思路及代码3.总结1.题目描述题目链接:27.移除元素给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例:输入:nums = [3,2,2,3], val = 3输出:2, nums = [2,2]解释:函数应该返回新的长度 2, 并且 nums 中的前
2022-02-04 20:49:19
150
原创 从一道题谈整形提升和内存存储的问题
文章目录整形提升来个题瞅瞅参考整形提升1.是什么?定义:C语言的整型算术运算总是至少以缺省整型类型的精度来进行的。为了获得这个精度,表达式中的字符和短整型操作数在使用之前被转换为普通整型,这种转换称为整型提升。通俗讲:C语言中字节数少于整型字节数的数据类型在进行整型运算时,该类型的数据会被默认转为整型数据。2.为什么要?CPU整形运算器(ALU)操作字节长度决定。表达式的整形运算在CPU的相应运算器件内执行,CPU内整型运算器(ALU)的操作数的字节长度一般就是 int 的字节长度。因此,即
2021-10-05 17:32:55
212
原创 整数在内存中如何存储
整数在内存中的存储在计算机内存中,整数一律采用补码的形式来存储。这意味着,当读取整数时还要采用逆向的转换,也就是将补码转换为原码。将补码转换为原码也很简单:先减去 1,再将数值位取反即可。我们先来解以下几个概念原码将一个整数转换成二进制形式,就是其原码。例如 short a = 6;,a 的原码就是 0000 0000 0000 0110;更改a 的值 a = -18;,此时 a 的原码就是 1000 0000 0001 0010。通俗的理解,原码就是一个整数本来的二进制形式。反码对于正数
2021-10-05 14:16:06
2026
原创 C语言计算器的实现
#第一种int Add(int x, int y)//加{ return x + y;}int Sub(int x, int y)//-{ return x - y;}int Mul(int x, int y){ return x * y;}int Div(int x, int y){ return x / y;} void menu(){ printf("*********************************\n"); printf("*** 1.Ad
2021-09-30 12:27:30
204
原创 C代码如何跑起来(程序编译和预处理)
c代码1.集成开发环境(IDE)2.如何跑起来3.以VS为例1.集成开发环境(IDE)集成开发环境包含如下编辑器:用来编写代码,并且给代码着色,以方便阅读;代码提示器:输入部分代码,即可提示全部代码,加速代码的编写过程;调试器:观察程序的每一个运行步骤,发现程序的逻辑错误;项目管理工具:对程序涉及到的所有资源进行管理,包括源文件、图片、视频、第三方库等;漂亮的界面:各种按钮、面板、菜单、窗口等控件整齐排布,操作更方便简单来说是一系列开发工具的组合套装。这就好比台式机,一个台式机的核心部件
2021-09-29 17:23:57
2983
9
原创 什么是电流、安培(做有意思的科普)
什么是电流1.0在大多数固体材料中,原子核他们的电子智商待在那里。 不动。2.0金属不同。带正电的原子核不动,保持该金属的结构。电子可以从一个原子漂移到另一个原子。由于同性相斥,当电子从一个原子移到另一个原子,其他电子也会从原子移动到其他电子。电荷之间同性相斥,异性相吸。3.0简化模型:电流在流动(第一个电子跳转到第二个原子,电子之间相互推动 ,每个电子都跳跃一个微小的距离。电子的整体流动速度接近光速。)4.0测量电流安培(每秒流动的电子的数量)5.0电路中讲解在电池负端,
2021-08-11 11:06:20
1253
原创 周期内采样点数,采样率
时钟频率**定时时间=计数值/时钟频率时钟频率=TIM_CLK/[(ARR+1)(PSC+1)]假定输入频率为50HZ,10个周期内需采样1024个点。时钟分频后为72M.周期时间20ms(1/50HZ),10个周期的时间为1020=200ms,描述:200ms内采样1024个点。得出每200/1024=195us进入一次定时器。得出时钟频率(f=1/T)为1/195。定时器定时时间195us,由图片公式可知道,自己设定PSC为72-1时,可求得ARR的值为195-1. {195=(72(A.
2021-03-05 19:47:10
3407
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人