- 博客(43)
- 收藏
- 关注
原创 python特殊参数
递归指的是把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解如果 一个函数在内部调用其本身,这个函数就是递归函数递归的好处是:只需少量的程序就可描述出解题过程所需要的多次重复计算从前有座山,山里有个庙,庙里有个老和尚,给小和尚讲故事。故事讲的是:从前有座山,山里有个庙,庙里有个老和尚,给小和尚讲故事。故事讲的是:从前有座山,山里有个庙,庙里有个老和尚,给小和尚讲故事。故事讲的是:从前有座山,山里有个庙,庙里有个老和尚,给小和尚讲故事…
2025-01-12 20:23:14
406
原创 pip包管理工具
pip 是 Python 包管理工具,该工具提供了对Python包的查找、下载、安装、卸载的功能。Python 2.7.9+ 或 Python 3.4+ 以上版本的python都自带 pip 工具。
2024-12-19 20:17:48
298
原创 1、VS开发工具下载和配置
VSCode官方首页:https://code.visualstudio.com/ 点击Download for Windows下载。
2024-11-21 20:43:55
194
原创 CAD基本设置和操作
点击l空格(回车,鼠标左键选择)即可画直线,如果想画垂直或者平行的线单击F8打开正交模式即可。想画任意角度的线,可以通过以下步骤 l -> 空格 -> 10(长度) -> tab -> 45(所需角度) -> 回车来完成。
2024-11-13 20:43:03
8318
原创 FreeRTOS临界段保护
FreeRTOS 在进入临界段代码的时候需要关闭中断,当处理完临界段代码以后再打开中断… … /* 临界区 */… … /* 临界区 */成对使用支持嵌套尽量保持临界段耗时短。
2024-07-03 16:49:00
261
原创 FreeRTOS中断管理
在STM32中,一共有五种中断分配方式,如下所示:我们在使用FreeRTOS时,需要将中断配置为组4,通过调用即可完成设置。
2024-07-03 15:53:04
410
原创 AD快速导入立创3D模型
在AD绘制PCB时,可以添加3D模型,在绘制完成PCB后就可以导出3D图给结构工程师核对,方便产品的开发。这里介绍一种可以比较快完成3D导入的方式。
2024-07-02 16:39:17
2277
原创 FreeRTOS的任务挂起与恢复
使用该函数注意宏:必须定义为 1注意:任务无论被 vTaskSuspend() 挂起多少次,只需在任务中调用 vTakResume() 恢复一次,就可以继续运行。且被恢复的任务会进入就绪态!使用该函数注意宏:和必须定义为 1该函数专用于中断服务函数中,用于解挂被挂起任务注意:中断服务程序中要调用freeRTOS的API函数则中断优先级不能高于FreeRTOS所管理的最高优先级。
2024-07-02 14:45:44
476
原创 FreeRTOS移植
打开FreeRTOS官网:FreeRTOS - Market leading RTOS (Real Time Operating System) for embedded systems with Internet of Things extensions移植步骤:在keil中新建分组如下图所示:添加FreeRTOS源码如图所示:在user文件中粘贴FreeRTOSConfig.h将#define SYS_SUPPORT_OS 改位1(2)添加:(4)包含头文件4
2024-06-18 15:53:29
1089
原创 STM32CUBEIDE使用技巧
Debug模式和Release模式,Debug模式在调试阶段时使用,Release模式在项目完结发给客户时使用,Release模式不能使用单步调试功能。
2024-06-13 16:18:39
3018
1
原创 8、C++结构体
struct 结构体名 { 结构体成员列表 };struct 结构体名 变量名struct 结构体名 变量名 = { 成员1值 , 成员2值...}定义结构体时顺便创建变量//结构体定义//成员列表//姓名int age;//年龄int score;//分数}stu3;//结构体变量创建方式3//结构体变量创建方式1//struct 关键字可以省略stu1.name = "张三";
2024-03-05 13:18:28
389
原创 7、C++指针
指针变量定义语法:数据类型 * 变量名;//1、指针的定义int a = 10;//定义整型变量a//指针定义语法: 数据类型 * 变量名;int * p;//指针变量赋值p = &a;//指针指向变量a的地址//打印数据a的地址//打印指针变量p//2、指针的使用//通过*操作指针变量指向的内存return 0;指针变量和普通变量的区别普通变量存放的是数据,指针变量存放的是地址指针变量可以通过" * "操作符,操作指针变量指向的内存空间,这个过程称为解引用。
2024-03-01 18:03:15
383
原创 6、C++函数
函数的定义一般主要有5个步骤:1、返回值类型2、函数名3、参数表列4、函数体语句5、return 表达式返回值类型 函数名 (参数列表)函数体语句return表达式返回值类型 :一个函数可以返回一个值。在函数定义中函数名:给函数起个名称参数列表:使用该函数时,传入的数据函数体语句:花括号内的代码,函数内需要执行的语句return表达式: 和返回值类型挂钩,函数执行完后,返回相应的数据**示例:**定义一个加法函数,实现两个数相加//函数定义return sum;
2024-03-01 16:08:14
399
原创 5、C++数组
数据类型 数组名[ 数组长度 ];数据类型 数组名[ 数组长度 ] = { 值1,值2 ...};数据类型 数组名[ ] = { 值1,值2 ...};//定义方式1//数据类型 数组名[元素个数];//利用下标赋值//利用下标输出//第二种定义方式//数据类型 数组名[元素个数] = {值1,值2 ,值3 ...};//如果{}内不足10个数据,剩余数据用0补全//逐个输出//一个一个输出太麻烦,因此可以利用循环进行输出i < 10;i++)//定义方式3。
2024-02-29 15:07:44
627
原创 4、C++程序流程结构
总结:与if语句比,对于多条件判断时,switch的结构清晰,执行效率高,缺点是switch不可以判断区间。**注意:**与while的区别在于==do...while会先执行一次循环语句==,再判断循环条件。**作用:**在==循环语句==中,跳过本次循环中余下尚未执行的语句,继续执行下一次循环。**解释:**如果标记的名称存在,执行到goto语句时,会跳转到标记的位置。==只要循环条件的结果为真,就执行循环语句==用于跳出==选择结构==或者==循环结构==在循环体中再嵌套一层循环,解决一些实际问题。
2024-02-22 11:13:39
1011
原创 1、初识C++
编写一个C++程序总共分为4个步骤Visual Studio(2022版本)是我用来编写C++程序的主要工具,这里先将它打开。然后按照以下步骤操作:4、运行程序作用:在代码中加一些说明和解释,方便自己或其他程序员程序员阅读代码两种格式单行注释:通常放在一行代码的上方,或者一条语句的末尾,==对该行代码说明==多行注释: 通常放在一段代码的上方,==对该段代码做整体说明==作用:给一段指定的内存空间起名,方便操作这段内存语法:示例:四、常量作用:用于记录程序中不可更改的数据C++定义常量两
2023-12-26 16:01:35
429
1
原创 SQL入门和实战
pymysql库在执行对数据库有修改操作的行为时,是需要通过链接对象的commit成员方法来进行确认的。只有确认的修改,才能生效。
2023-12-07 15:11:58
80
1
原创 Python-数据可视化-动态展示柱状图
Timeline()-时间线 柱状图描述的是分类数据,回答的是每一个分类中『有多少?』这个问题. 这是柱状图的主要特点,同时柱状图很难动态的描述一个趋势性的数据. 这里pyecharts为我们提供了一种解决方案-时间线。
2023-11-27 15:59:48
342
1
原创 Python异常_模块_包
模块就是一个Python代码文件,内含类、函数、变量等,我们可以导入进行使用。在Python代码文件中正常写代码即可,通过import、from关键字和导入Python内置模块一样导入即可使用。包就是一个文件夹,里面可以存放许多Python的模块(代码文件),通过包,在逻辑上将一批模块归为一类,方便使用。第三方包就是非Python官方内置的包,可以安装它们扩展功能,提高开发效率。
2023-11-24 18:03:24
144
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人