自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 STM32利用FATFS文件系统给SD卡读写数据

利用FATFS文件系统如何给SD卡写入数据1. 操作步骤第一步:给SD卡注册工作区FATFS fs; //SD 卡逻辑驱动器的工作区f_mount(&fs,“0:”,1); //为SD卡逻辑驱动器注册工作区第二步:创建文件夹f_mkdir(“0:\shiyan”);//创建 (shiyan) 文件夹第三步:创建文件FIL File;f_open(&File, “0:\Shiyan\tianqi.dat”, FA_OPEN_ALWAYS | FA_WRITE);//在

2021-03-27 14:57:09 13454

原创 STM32利用FATFS文件系统删除SD卡中的文件夹

STM32利用FATFS文件系统删除文件夹

2022-11-23 17:42:32 5177 1

原创 C/C++语言曲线的拟合的最小二乘方法

应用计算方法C语言程序:03接 应用计算方法C语言程序:02编写C语言曲线的拟合的最小二乘方法,以计算方法课本例题8-3为例。1、获取矩阵A和b#define POW_N 3double A[POW_N][POW_N] = { 0 };double b[POW_N] = { 0 };double data1[12] = { 256,201,159,61,77,40,17,25,103,156,222,345 };void coefficient_matrix(double *data, i

2022-05-14 22:02:45 2069 4

原创 C/C++ 语言实现使用LU分解求解线性方程组

应用计算方法C语言程序:02接 应用计算方法C语言程序:01以计算方法课本例题4-6为例。设矩阵A,b分别为:A[3][3] = { {1,3,3},{2,1,1},{2,3,4} }; b[3] = { 1,2,1 };利用C语言程序求解方程组如下:(其中LU分解程序见应用计算方法C语言程序:01)程序中矩阵求逆部分程序使用了博友(重中之重小星星)的程序(感谢博主的分享):原文链接void Matrix_inverse(double arc[3][3], int n, double

2022-05-14 21:48:04 2622 2

原创 C/C++ 语言实现矩阵LU分解

LU分解又叫做Doolittle分解。Ax=b,A为方阵时,对矩阵A的LU分解矩阵L、U公式如下图:对矩阵A的LU分解C代码如下:#include <iostream>#include "math.h"using namespace std;double L[3][3] = { 0 }, U[3][3] = { 0 };void Doolittle(double a[3][3]){ for (int i = 0; i < 3; i++) { //更新L矩阵

2022-05-14 20:30:45 3640

原创 C\C++各种变量存放区域(全局变量、局部变量区分)

学习笔记:1内存分区模型C++程序在执行时,将内存大方向划分为4个区域·代码区:存放函数体的二进制代码,由操作系统进行管理的·全局区:存放全局变量和静态变量以及常量·栈区:由编译器自动分配释放,存放函数的参数值,局部变量等·堆区:由程序员分配和释放,若程序员不释放,程序结束时由操作系统回收内存四区意义;不同区域存放的数据,赋予不同的生命周期,给我们更大的灵活编程1.1程序运行前在程序编译后,生成了exe可执行程序,未执行该程序前分为两个区域代码区:存放CPU执行的机器指令代码区是共

2021-12-28 22:00:38 3381

原创 break和continue语句的使用

break语句的作用:用于跳出选择结构成循环结构break使用的时机:1 出现在switch条件语句中,作用是终止case并跳出switchint i=3;switch(i){case 1:function1();break;//终止case,跳出switchcase 2:function2();break;case 3:function3();break;case 4:function4();break;default:break;}2 出现在循环语句中,作用是跳出当前的循环语句

2021-12-10 21:53:07 1450

原创 C语言回调函数详解及实例

回调函数:函数 F1 调用函数 F2 的时候,函数 F1 通过参数给函数 F2 传递了另外一个函数 F3 的指针,在函数 F2 执行的过程中,函数F2 调用了函数 F3,这个动作就叫做回调(Callback),而先被当做指针传入、后面又被回调的函数 F3 就是回调函数。............

2021-12-06 20:45:39 6048 7

原创 C语言指针:一维数组指针、二维数组指针、函数指针、指针函数

C语言指针学习

2021-09-14 17:02:00 411

原创 字符型(char)数组分配内存时占用多少个字节

1.直接定义的字符串会占用2.结构体中字符型(char)数组在分配内存时会多分配3个字节示例及运行结果如下#include <stdio.h>#include <stdlib.h>struct student{ long no; char sex; char name[20]; int age; float score; struct student *next;};struct student11{ long no; char sex; char

2021-09-09 17:44:11 21017

原创 C语言创建动态数组

C语言创建动态数组1.编写步骤1. 添加所需头文件stdlib.h2. 创建对应类型指针int *arry;3. 使用void* malloc (size_t size)函数分配数组地址空间注: 地址空间大小,以字节为单位int size=5;arry=(int )malloc(sizesizeof(int));//创建5个int类型的数据空间并返回空间首地址,地址大小为5*4=20字节4. 使用void free (void* ptr)函数释放动态地址空间free(arry);使

2021-09-02 19:35:35 11976 1

原创 控制数据自增上限方式

将数据从1自增到100的上限限定有两种方法:条件判断法int t=0;while(1){ t++; delay_ms(10); if(t>100) t = 0;}数值计算法int t=0;while(1){ t++; delay_ms(10); t=t % 100;}

2021-08-30 21:09:31 131

原创 STM32程序中一段程序的执行时间和参数加减一次的运行时间

STM32程序中一段程序的执行时间和参数加减一次的运行时间当想要知道一段程序的执行时间时,可以利用KEIL的debug工具。例:现在想知道程序中一个变量加减一次需要执行多长时间。如想知道,第43行的程序运行时间。第 1 步:先进入debug。第 2 步:在第43行和44行加入断点。第 3 步:点击立即执行程序到第一个断点处(43行),并查看运行到此处的时间。从图中可知程序从开始运行到第43行,需要 0.06315370 s第 4 步:再次点击立即执行程序到第二个断点处(44行),并查看运

2021-06-07 13:35:09 3920 1

原创 STM32中断与事件的区别

STM32中断与事件的区别 EXTI_InitStruct.EXTI_Line=EXTI_Line0; EXTI_InitStruct.EXTI_LineCmd=ENABLE; EXTI_InitStruct.EXTI_Mode=EXTI_Mode_Interrupt;//事件控制器模式为中断 EXTI_InitStruct.EXTI_Trigger=EXTI_Trigger_Rising;//触发方式为上升沿触发 EXTI_Init(&EXTI_InitStruct);上面代码是为了

2021-05-28 00:30:27 1383

原创 C语言中volatile关键字的作用

C语言中volatile关键字的作用一.背景编译器优化介绍:  由于内存访问速度远不及CPU处理速度,为提高机器整体性能,会进行两种优化。  在硬件级优化: 引入硬件高速缓存Cache,加速对内存的访问。另外在现代CPU中指令的执行并不一定严格按照顺序执行,没有相关性的指令可以乱序执行,以充分利用CPU的指令流水线,提高执行速度。  软件级优化: 一种是在编写代码时由程序员优化,另一种是由编译器进行优化。 编译器优化常用的方法有:将内存变量缓存到寄存器;调整指令顺序充分利用CPU指令流水线,常见

2021-05-25 10:09:59 1463

原创 C++库自带函数功能讲解源网址

链接: http://www.cplusplus.com/reference/.

2021-05-10 01:15:56 301

原创 WPS三线表的绘制方法

WPS三线表的绘制方法第一步:首先绘制好自己的表格;第二步:选中整个表格并将鼠标置于阴影处点击鼠标右键;第三步:点击边框和底纹(或点击表格属性再点击其下面的边框和底纹),弹出边框和底纹对话框;第四步:点击上图红圈圈出的地方,让竖线及中间线消失,如下图,接着点击“宽度”,改为1.5磅,然后点击红圈圈出的地方(顶线和底线),线会变粗,最后点击确定,经过第四步操作后表会变为如下图所示;第五步:选中表格第一行,并将鼠标置于阴影处点击鼠标右键,然后点击边框和底纹;第七步:弹出如下边框和底

2021-04-22 22:22:23 14041 1

原创 怎样将STM32F4的外接晶振从8MHz改为25MHz而不改变系统时钟

怎样修改和计算STM32F4的系统时钟

2021-04-04 00:17:21 3391

原创 学习通信协议376.1和 modbus时发现一个好用的帧校验和工具

在学习376.1和 modbus协议时发现了一个很好用的在线帧校验和计算工具。在此记录一下网址:https://www.23bei.com/tool-59.html.

2021-04-01 00:05:54 919

原创 TIM_GetCounter(TIMx)与TIM_GetCapture2(TIMx)的比较与TIM_GetCapture2(TIMx)对标志位TIM_IT_CCx的影响

TIM_GetCounter(TIMx)与TIM_GetCapture2(TIMx)的比较与TIM_GetCapture2(TIMx)对标志位TIM_IT_CCx的影响1.TIM_GetCounter(TIMx) 读取TIMx寄存器CNT中的计数值/** * @brief Gets the TIMx Counter value. * @param TIMx: where x can be 1 to 17 to select the TIM peripheral. * @retval C

2021-03-16 11:17:02 13584

原创 KEIL仿真波形时,不实时显示波形

KEIL仿真波形时,不实时显示波形用KEIL仿真,引脚输出波形时,不能实时显示波形解决办法。仿真波形时,进行如下操作:第一步:点击View第二步:点击Periodic Window Update (下图中红色区域)

2021-01-10 09:21:03 1768 1

原创 下载Python安装包及支持包路径

下载Python安装包及支持包路径下载Python安装包路径:链接: https://www.python.org/downloads/2.链接:https://www.lfd.uci.edu/~gohlke/pythonlibs/进入该网页后使用ctrl+F 直接寻找自己所需的支持包即可。

2020-12-06 00:35:16 383

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除