自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 资源 (2)
  • 收藏
  • 关注

原创 stm32 晶振换算

d->PLL.PLLQ 决定USB的输出,仅在USB工作频率是48M时USB 才参与工作。c->PLLN:通常决定SystemClock_Config()的函数输出。a->PLL.PLLM通常等同于晶振的大小 :外部是xMH晶振则配置为X。b->RCC_PLLP_DIV2分频系数为系统自带:设置为2。:用于高速外设(如 UART1、SPI1、TIM1):用于低速外设(如 UART2、I2C1)。A-> 我们配置的是SYSCLK() 函数。:通常为2、4、6或8。:通常范围为2到63。B-> 各总线的功能。

2025-03-13 14:53:57 309

原创 stm32 f4 flash 调用时卡死

参照此博客,如果调用flash 卡死的原因是谢日adress不准确,得到0x08010000 成功运行。

2025-03-10 19:50:43 270

原创 存储方式:小端模式

小端模式:高位存储在低地址。

2025-02-26 19:29:03 88

原创 freeRtos 在mm32下移植问题总结

2.通过调试发现 ”xTaskIncrementTick()!= pdFALSE “条件不成立,走到了箭头所指的的分支。操作系统接管之后,会运行到这里这个中断调用 ,tick每执行一次 这里即调用一次。问题:在任务中运行两次打印时间间隔不准确。并且原来的delay_ms函数会卡死。3.接下来细看如下代码(可省略)

2025-02-20 19:40:22 263

原创 堆栈溢出的情况及其避免

在程序的调试过程中,单个程序功能正常,合并在一起的时候发现程序无法正常运行。a->程序卡死原地不动,while循环也不执行,但是其他中断函数正常运行。b->若申请的空间大于了硬件的saram 空间 也会导致堆栈溢出。b->如果是封装的函数则函数会运行到该函数结尾之后卡死。a->我出现的原因是向一个固定大小的空闲写入了过多的数据。注释部分代码正常之后调试发现 封装的函数出栈不一样。最开始以为中断冲突。2.如何避免堆栈溢出。

2025-01-21 18:18:40 264

原创 MM32操作系统移植总结

打开延时函数的定义,会发现延时函数在等在一个变量减少为1,而裸机的心跳会使得变量递减,操作系统接管之后,需要重新定义延时函数。原因:堆栈溢出,需按照datasheet来配置小于datasheet SARAM的的大小,能用的大小为全局变量的余量。应当怎加判断条件,在操作系统没有工作的的时候用CPU的心跳 ,在创建任务之后操作系统再去接管CPU的心跳。原因:在操作系统的任务没有被创建的时候,就开始了操作系统的心跳,该心跳会区遍历任务链表的任务。3.初始化时钟时一旦完成初始化会使得整个系统卡死。

2025-01-08 19:31:02 292

原创 SPD的数据格式总结

2.文章还指出了 常用的几个寄存器型号。SPD与DDR内存详解-优快云博客。

2024-12-31 10:32:53 441

原创 I3C与I2C的区别

1.支持热插拔,动态获取slave地址。2.更高的数据传输速率。

2024-12-30 16:29:37 334

原创 github 仓库使用

提交本地仓库代码到远程仓库。之后提交便不用再添加 -u。

2024-12-25 09:48:45 226

原创 stm32 USB驱动调试

3.再usbd_usat.h 的函数中做如下修改。2.禁用掉USB host uart的函数。a->在USB的驱动函数的添加如下。

2024-12-22 14:27:19 555

原创 CRC校验工具

该工具对于字符串和和ASCii码的校验比较准确。结果一致,可以用来计算。

2024-12-19 19:49:16 2067

原创 初探freeRtos

需要执行本函数,该函数的意义时是删除该任务所在的列表,即便所有的函数都被删除任务调度器处于在运行空闲任务的状态,一档找到有合适的任务将会执行。总结:对于子任务的执行,要么是一个while函数,要么是一个单次执行的函数,单次执行的任务需要在函数结尾添加vTaskDelete(NULL),之后的函数也不会在执行。需要采用八路模拟的IIC来切换任务,相同优先级的情况下八路模拟IIC的输出由于时间片轮转原理会不会影响时序的精准度。在主任务的过程中需要监视任务的信号量的个数来确认是否需要进行下一步程序。

2024-12-18 19:40:02 246

原创 环形缓冲区的使用

/ 计算 cmd_start: 根据 end_index 和 RxBufLen 计算出一个 cmd_start 值。//先将 start_index 到缓冲区末尾的数据复制到 buf 中,然后将从缓冲区开头到 end_index 的数据复制到 buf 的剩余部分。

2024-12-06 19:02:58 808

原创 Linux和windows文件系统映射(转载)

我有两台PC,一台操作用的Windows,一台linux。需要在Windows上将linux中的/fdsk目录映射为网络驱动器。或者在windows 10系统中可以通过添加一个网络位置也可以挂载Linux (ubuntu-20.04.2) 的目录。这里介绍的是用samba的方式,适用的场景是linux需要是物理机。如果是虚拟机的场景我则会用sshfs的方式挂载。原文地址:https://www.cnblogs.com/liqinglucky/p/samba.html。,最后的效果是一样的。

2024-11-27 14:02:51 634

原创 【JLINK 安装mm32的HEX文件】

路径为PCIE转M.2 1V16 -release\源代码\UfsBoard\Project\Objects\UfsBoard.hex。6点击target->production progarmming进行烧录。打开j-link所在文件夹,检查Device有如下文件即安装成功。安装好j-link之后解压安装MM32**.exe。1.双击j-flash.exe。5.选择下载的HEX文件(7.烧录成功以后如下。

2024-11-05 18:03:18 233

原创 flash存储日志功能

一个数组为0xAA 时一个8bit的数据,我们分别处理 0x0A 和0xA0,对应的数据根据偏移原理由字符串static const char* hexChars = "0123456789ABCDEF";读操作原本的代码会读取整页的数据内容,这样一页存入的数条item会被同时读取出来,这里发现flash中的默认值时0xFF,我只要在法拉盛固定偏移的大小空间内内用用完空间,结束符标志均时0xFF,以此来判断一次读操作的结束。,把十六进制映射为自负床形式,用的检索的思想。3.flash读操作。

2024-10-31 15:07:14 449

原创 GPIO开漏输出和推挽输出

开漏输出,低电平cpu拉低,高电平由外部电源提供,CPU端口处于高阻态。应用场景:需要不同于CPU的电平的外部驱动时,用的推挽输出。初步理解:推挽输出,高低电平由cpu提供。

2024-10-31 14:43:19 142

原创 电压输出模块模拟正弦波

【代码】电压输出模块模拟正弦波。

2024-10-16 18:34:07 178

原创 gloabl.prop keil 颜色更改

【代码】gloabl.prop keil 颜色更改。

2024-10-14 18:23:44 99

原创 指针函数数组,函数遍历与select

for (i = 0;i < 3;i++) {(*pf[i])();return 0;

2024-04-22 12:01:28 445 1

原创 基于openyxl的文件脚本的处理

【代码】基于openyxl的文件脚本的处理。

2023-11-30 14:14:09 444

原创 vs2010无法启动程序,系统找不到指定的文件

问题分析:从另一个主机上移植的项目,exe文件被指定,把生成的文件移植到指定的文件夹目录中以便解决该问题。首先遇到问题时不要胡乱尝试方法修改,不然都是浪费时间,分析报错产生的原因,才能对症下药》把该目录修改为你项目生成exe文件夹的目录即可。修改配置属性->调试->工作目录。

2023-05-25 16:02:22 6161

原创 C++算法记录册

1.递归剪枝法fun_back(int a[], int i, int n) { int max_len = 1; for (int j = i + 1; j < n; j++) if (a[j] > a[i]) if (max_len < fun_back(a, j, n) + 1) max_len = fun_back(a, j, n) + 1; return max_len; if (i == n - 1) return max_len;}

2022-05-15 00:44:35 377

原创 word输入公式快捷键

1,空格是把原来的形式变一下形2,alt+= 快捷输入公式3,常用的格式: 积分\int+空格 dx /dd+x​​ 求和\sum +空格+上标加下标 ​​​​ 开方\sqrt+空格上标\sqrt+空格矩阵\matrix+(&元...

2022-04-15 14:50:52 4395 1

原创 用记事本写代码来表示网页版的数学公式(只需要记事本+浏览器)

前几天盆友过来说他的室友记笔记是用代码写的今天我也琢磨了一个html版的代码笔记,比起word来记笔记要方便得许多。步骤:用记事本建立一个txt文件,打开输入前端代码,改txt为html格式。保存打开即可要点: 主要是符号的打印; <sup>2</sup> //上标 <sub>2</sub>//下标一些常见的符号在这里: HTML ISO-8859-1 参考手册 ...

2022-02-22 21:36:47 946

原创 一个生成txt文件的成绩统计程序(录入成绩,自动总分排名,算出各科平均分)

功能:输入班级人数;输入班级姓名,各科成绩;以制表形式返回成绩,并且实现各科的成绩平均分,成绩排名和生成一个txt文件。废话不多说,上才艺!#include <bits/stdc++.h>#include <fstream>using namespace std;struct A { char name[10]; float math, eg, chinese, sum, order;} student[10];int cmpn1(A a, A b

2022-02-08 12:08:39 1404

原创 一个随机的抽答的小程序

#include <windows.h>#include <bits/stdc++.h>#include "mmsystem.h"#pragma comment(lib,"winmm.lib")//静态using namespace std;void color(WORD c) { SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), c);//设置控制台输出字体颜色值为c的值}void bigi..

2022-01-24 00:14:12 1655

原创 C语言各个符号优先级(全)

常见符号测试代码如下:void priority_test1() { int a = 2, b = 2, c; //-- 与正负 c = -++a; cout << c << endl; cout << endl; //正负与乘除 a = 10; c = -++a % 4; cout << c << endl; c = -++a * 2; cout << c << endl; cout <

2022-01-14 19:50:41 3022

原创 C++/C语言刷题记录册

递归此题我设定的x=2#include <iostream>#include <algorithm>#include <math.h>using namespace std;float fn(int n, int x) { if (n > 1) return sqrt(n + fn(n - 1, x)); else return sqrt(1 + x) ;}int main() { float c = fn(3, 2);

2022-01-10 01:32:25 626

原创 如何在Dev-C++上自己使用自己的头文件?

1,建立一个控制台项目2,添加一个头文件格式3.写入头文件并且再头文件中定义函数,保存为.h格式4.项目中加入头文件成员5,main文件中添加头文件,并且要声明头文件所在的磁盘。有可能第一次运行会报错,但是再运行依次就成功了。...

2022-01-06 20:18:08 10252 2

原创 涨知识了,表达式的值?

今天遇到了一个问题,表达式的值是多少?eg:b = 1 我们知道b=1,那么b=1,这个表达式的值为多少呢 int a = 3; int b = 2; a = ( b = 1) ; cout << a << endl ;得知b=1的值是1;这些都没有问题,但是问题来了a=2,b=1也是表达式。按照逗号运算符的运算逻辑是先算左边的,再算右边的 int a = 3; int b = 2; a = (a = b, b = 1) ; cout

2022-01-06 17:27:43 924

原创 字符串倒序输出的逻辑

c++封装函数版本(无话可说版,啥也不是版)int main() { string s; getline(cin, s); reverse(s.begin(), s.end()); cout << s; return 0;}指针倒序输出版本1.首先来了解一下顺序输出的逻辑int main() { char a[20]; cin.get(a, 20); int n = strlen(a) / sizeof(char); cout << "n

2021-12-31 15:24:20 983

原创 1²+2²+3²+.....+n²的平方和的最直观推导

主机公式有很多,但是如何推导呢,这里用了大学的离散求和知识具体的推导过程请看我的视频:http://平方累加求和公式,最直观的推导方法-哔哩哔哩】 https://b23.tv/0o5cjJE

2021-12-24 14:13:00 8763

原创 利用Dev-C++,EGE图形库,写一个音乐播放,图片展示,文字弹幕的小程序。

由于电脑是没有安装visual stdio code。所以用dev-C++来编写一个哄女朋友开心的小程序。适合初学者用来练手c++啦,成就感满满,所以大佬们不爱勿喷啦。dev-c++用EGE图形库比较少见,教程也比较少,所以我后续会出一篇关于EGE图形库的的注意说明。首先说一下程序的逻辑和要点。心急的同学可以直接看源码逻辑1,首先文字按照固定轨迹呈现。2,文字和图片同时展示,同时播放背景音乐。(分为两个部分,从两个数组中抽取内容)3,标题文字固定,文字信息像弹幕一样在同一行中依次

2021-11-08 02:06:45 1907

原创 因为意外原因无法进入系统,如何在pe盘中进行系统修复?

首先,你要拥有一个启动盘,没有的话就买一个带win10专业版的,以后用的多。今天我手残使用分区工具,把C盘扩展了一下空间,结果重启之后黑屏提示“你的设备中找不到操作系统(英文翻译)”。进不去window系统了。如何处理?,不用为重装系统数据丢失而苦恼。1。插入启动盘,在PE中下载dism++并且解压。2,点击dism x86.选择“工具箱”,再点击工具箱中的“引导恢复”。3,拔掉启动盘,重启。...

2021-11-04 23:13:03 8143

jlink烧录HEX文件

烧录方式

2024-11-05

带有ege图像库的编译器 DevCpp.exe

带有ege图像库的编译器,小巧灵活,编译器配置选项:-lgraphics -lgdi32 -limm32 -lmsimg32 -lole32 -loleaut32 -lwinmm -luuid -mwindows

2021-11-08

PIC18F45k20.pdf

关于k22的各个功能和配置字的描述

2021-11-06

空空如也

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

TA关注的人

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