- 博客(430)
- 资源 (1)
- 收藏
- 关注

原创 STM32
第一种方式是,打开头文件,拉到最下面,查看有哪些函数,然后查看函数的定义函数的使用方法是。第二种方式,查看库函数用户手册,所有函数的介绍个使用方法。第三种方式,最后一种方式是百度,借助别人的代码进行使用。
2024-03-31 20:52:57
1177
1
原创 1-21 gerrit提交代码
对于该报错,官方的解释为可能为仓库损坏或网络问题等原因,但在我们实际开发过程中,绝大多数情况是因为,如前面所说,远程仓库有其他人提交的修改,如果不嫌撤回本地commit的话,我们是无法pull代码的。git上传报错error: remote unpack failed: error Missing tree error: failed to push some refs 原因 及 解决方法_error: remote unpack failed: error missing tree。
2025-03-12 22:27:02
878
原创 1-4 如何查看反汇编代码
注:可以单独创建一个Listing文件夹用于存放反汇编代码。如何在编译器中查看反汇编代码?选中反汇编代码,点击选项卡中的listing。
2025-03-08 13:45:27
155
原创 1-3 Debug操作
LR指向的是下一个将要执行代码的地址,这些寄存器的值,在进入异常之前会将值保存在一个位置,也LR是我么程序下一条要执行的指令,通过MSP和PSP指向的地址是对应的地址,然后定位到问题出现的地方。对应寄存器的功能和作用:主要是主栈指针MSP,堆栈指针PSP,连接寄存器LR,程序计数器PC。造成half fault的原因是,野指针,或者数组下标越界。状态字寄存器,中断屏蔽寄存器,控制寄存器,特殊功能寄存器。寄存器讲解,对应寄存器的功能和作用是什么?硬错误,在代码量较大的情况下发生错误。
2025-03-08 10:57:06
129
原创 1-2 什么是SWV
在调试的上下文中,SWV通常指的是**Serial Wire Viewer(串行线查看器)**技术,这是ARM架构中用于调试的一项高级功能。传统的调试模式需要设置断点来判定程序调试时停止的位置 ,SWV 是一种程序调试工具【可以旁听获取数据不影响程序的实时性】,是嵌入式系统中实时监测的摄像头,SWV的硬件支持模块如下所示,使用SWD功能的时候要使用SWO引脚。第一步是代码,编译后代码进入到ITM,DWT,进入到TPIU,然后再经过TPIU进入SWO,然后通过JLINK,再到上位机中进行显示。
2025-03-08 10:50:05
197
原创 C 注释编写模版
编写清晰、有用的注释是提高代码可读性和可维护性的关键。良好的注释不仅能帮助他人理解您的代码,也能在未来您自己或其他开发者需要维护或扩展代码时节省大量时间。下面提供了一些常见的注释模板和最佳实践,适用于不同的编程语言和场景。头部文件注释:用于描述文件的用途、作者信息、版本历史等。解释函数的目的、参数、返回值及其可能抛出的异常。
2025-03-02 17:49:56
258
原创 1-21 GIT关联本地仓库到远程
这样就将您的本地仓库与指定的远程仓库关联起来了。之后,您可以使用诸如 git fetch、git pull 和 git push 等命令与远程仓库进行交互。如果想要查看当前配置的所有远程仓库,可以使用 git remote -v 命令。这里 <远程仓库名称> 通常默认为 origin,但您也可以根据需要指定其他名称。<远程仓库的URL> 是远程仓库的地址,可以是 HTTPS 形式,也可以是 SSH 形式,取决于您的仓库设置。要将远程仓库与本地仓库关联起来,您可以使用。git pull 同步一下远程仓库。
2025-03-02 16:26:51
384
原创 1-19 .gitignore的作用
项目文件的每行以换行符(LF)结尾(UNIX风格),而在Windows系统中,文件的每行通常使用回车换行符(CRLF)结尾。Git会自动检测这一点,并将服务器上的行尾改为CRLF。这样会出现不一致,可以使用以下命令禁止Git自动修改行尾。Keil编译时会生成很多中间文件,我们并不需要对这些文件进行版本控制,否则容易出现提交一次代码,结果出现两百多个文件变更。随后用vscode打开创建的.gitignore文件(
2025-02-23 14:20:19
329
原创 1-1 VS Code+Keil5+STM32CubeMX开发环境搭建
使用这个方式安装工具,先将原先下载安装的软件去掉,然后再安装新的软件,这个卸载过程需要将原来的工具干净的卸载掉,使用专门的卸载工具,将注册表等文件也全部删除掉。使用keil5打开一个项目,然后点击魔术棒查看支持的编译器,如果没有VC5的编译器那么添加相关的编译器。对应文件的路径,这里是放到MDK的文件夹路径不是放到stm32CubeMX这个路径,弄错了。软件安装之前先重启一下电脑--------------------“建议”下载软件的支持包,同时关闭软件的自动更新。的文件夹,用于安装文件的管理。
2025-02-22 22:00:57
941
原创 C 数据类型转换那些事
在C语言中,数据类型转换(也称为类型铸造或类型转换)是一个重要的概念,它允许你将一种数据类型的值转换为另一种数据类型。然而,在进行类型转换时,有一些关键点和注意事项需要牢记,以避免潜在的错误和不正确的结果。浮点数转化为小数会把小数部分全部截断,然后小数部分省略掉。示例:结构体成员访问(无直接转换)示例:浮点转整数(精度丢失)示例:指向不同类型指针的转换。等小整型会被自动提升为。示例:整数常量默认类型。
2025-02-20 16:35:17
208
原创 1-18 GIT设置公钥
查看绑定的用户名和邮箱:git config --global --list。git config --global user.email "你的邮箱"git config --global user.name "你的名字"命令:ssh -T "自己的邮箱名字",测试ssh连接。这个时候表示连接成功,ssh目录下能找到相关的文件。测试输出ssh key绑定的用户名。这个应该都是会的,就不做介绍了。PWD的作用是查看文件的路径。
2025-02-19 23:31:04
410
原创 C 位域的作用
如果在代码中存在多个类似的操作(例如设置不同的位),使用统一的位移操作格式可以使代码更加一致和易于维护。比如,若你需要设置第1位,则可以使用 (1 << 1),对于第2位则使用 (1 << 2) 等等。:即使左移0位不改变值,这种写法可以增加代码的可读性和明确性,表明你有意将第0位设置为1。这对于理解代码的人来说是一个清晰的信号,即该位是有意被设定的。也就是说,1 << 0 的结果还是1。,即1字节 = 8位)。本例中共有8个1位成员,正好占满1字节。本例中共有8个1位成员,正好占满1字节。
2025-02-19 18:48:57
619
原创 C ASCII字符表示
在程序中通常会出现这样的写法,A对应的ASCII字符表示的含义是65,一直往后到95获得的支付是B是66,然后Z对应的是90,这种写法表示的任务和含义是。这种格式化方式特别适用于需要固定宽度输出的情况,比如时间显示(小时和分钟)、日期显示月份和天数,等场合,确保了输出的一致性和对齐性。sprintf中的格式化字符串:将字符转换为对应的格式,输出到一个buf中进行存储,以下简单的解释一下这个字符的作用与含义。......这个含义与上面的具体上是类似的,然后A5表示的是一个固定的格式可能是相关数据帧。
2025-02-19 17:37:29
681
原创 C 获取特定位数的值
获取对应位数的数字,适应开发过程中的各种操作,具体的代码演示案例如下所示。(范围:0~99999),代码将逐位提取其数字,并存储到数组。:需确保输入值在合理范围内,并根据需求处理前导零和溢出问题。:不足5位时高位自动补零,需根据需求决定是否保留。:将最多5位的整数按万位→个位顺序分解到数组中。:固定位数显示(如数码管、LCD显示数值)。),高位计算结果可能不符合预期。),代码将截断高位。
2025-02-19 16:37:41
291
原创 C 数据类型定义
基于项目开发过程中的数据类型定义,为什么要这样做,数据类型的定义可以增强代码的可读性,在嵌入式的底层开发中,数据类型的定义是一种常见的方法,现在对这种方法进行优化。
2025-02-19 15:17:04
388
原创 sprintf 格式化字符串说明符
sprintf 是 C 语言标准库中的一个函数,用于将格式化的数据写入字符串。它与 printf 类似,但不是将输出打印到控制台或终端,而是存储在一个字符数组中【将字符存储到一个字符数组中】。解释说明:1.0 char *str: 这是目标字符串的指针,格式化后的结果将会被存储在这里2.0 const char *format: 格式化字符串,包含文本和嵌入的格式说明符(如 %d, %s 等)3.0 ...: 可变参数列表,这些参数将根据格式化字符串中的说明符进行解释并插入到相应位置。
2025-02-18 19:07:10
1087
原创 1-1 Keil 调试测试
在调试模式中查看变量的值,或者是数组的值,通过选中一个变量,右键添加入对应的Watch窗口,可以追踪查看当前变量的变化状态。注意,只有全局变量可以全程监视,临时变量只有在进入当前函数中才可监视到其数据,用static关键词修饰的变量无法监视。,最上面的表示当前程序所处的函数。展开对应的函数,可以查看各层调用函数跳转之前保存的一些临时变量等信息。在keil开发工具中进行调试,首先先要了解调试界面的按钮,具体的操作和说明如下所示。,可以查看自己想要查看的内存,在Memory窗口中输入想要查看内存的起始地址,
2025-02-18 11:07:27
408
原创 C 单片机存储器修饰符xdata
这种存储器类型的指定有助于优化资源利用和性能,比如当你需要访问大量数据或希望释放内部数据存储器的空间时,就可以考虑使用 xdata 来定义变量。在单片机编程中,尤其是针对像8051这样的架构,使用不同的存储器修饰符可以指定变量存放在特定类型的存储器中。在单片机编程中,特别是使用C语言进行嵌入式开发时,xdata 是一种存储器类型修饰符,主要用于指定变量存储在特定的内存区域。由于8051架构的特性,程序存储器与数据存储器是分开的,因此使用code修饰符可以节省数据存储器的空间。,适用于需要按位操作的变量。
2025-02-18 09:50:31
430
原创 1-16 tortoiseGit分支与Git操作
将dev分支合并到main分支中:首先需要将分支切换到main分支中,然后使用git merge dev将分支合并到main分支中。在PUSH的时候远程服务器发现远程没有该分支,此时会自动创建一个和本地分支名称一样的分支,并将本地分支的内容上传到该分支)。- trunk-------------------------开发中的文件。- tags--------------------------标签。- branches-------------------分支。回到github上查看是否多出一个分支?
2025-02-16 23:40:27
1040
原创 1-15 tortoiseGit解决冲突
之后解决冲突,可以避免对冲突文件的手动备份操作,但是会多一个合并的。目前已经出现冲突,如何解决?表示吧自己的丢弃选择对方的文本解决冲突。将文件在其他的电脑上修改一部分,然后再在自己的电脑上修改一部分。选中一个文件update的时候只会更新一个文件。远程仓库和本地仓库的对应分支上有共同的提交。push 推送到远程的时候发送冲突。修改了同一文件,导致无法直接合并。使用自己的文本丢弃对方的解决冲突。使用此文件块表示冲突被解决了一个。解决冲突的具体方法如下。远程仓库:A−−−>B。本地仓库:A−−−>C。
2025-02-16 16:45:21
425
原创 1-14 Merge与rebase操作
执行rebase操作,rebase又被称之为移基操作,将后续的分支合并到这个位置 ,git执行的逻辑是会找到两个分支一个公共的祖先,然后吧当前分支3号节点之后的提交记录全部截出来,然后嫁接到最新的分支,也就是develop最新提交的后面,主要用于将诉git Merge 和 Rebase操作。具体操作后续更新......
2025-02-16 16:01:42
236
原创 1-12 tortoiseGit使用指南
如果我们做出的提交是错误的,也就是文件被提交到本地仓库,那么如何做,接下来演示一下,修改文件又加了一段这个话。,文件的内容是没有被回退到工作区的,现在演示一下将文件的内容回退到暂存区,配合命令行的方式进行查看。由于上次的撤销是在本地的撤销,现在我们将其推送到服务端去,看看如何解决。如何将错误的修改撤销掉,打开上面的文件,将里面的东西做一些错误的修改。可以看到工作区的修改是没有变动的,变动的只是本地仓库和缓冲区的内容。将这个文件一路提交到本地仓库中,可以参考文件命令的方式进行验证。
2025-02-16 14:54:11
1007
原创 1-11 git版本回退指南
git 操作流程图以上的图对应git的三大件操作:分别是git add,git commit, git push,记住push之前需要先git pull 同步一下远程的分支。
2025-02-16 01:36:20
1022
原创 1-10 github注册仓库
如何在github中注册一个仓库?1-1 GitHub的账号注册教程_github注册-优快云博客1-2 从github中删除创建的仓库_github删除仓库-优快云博客1-3 【教程】GitHub新建仓库新手教程_github仓库-优快云博客1-4 1-9 克隆github代码仓库操作-优快云博客......
2025-02-15 23:37:01
405
原创 1-9 克隆github代码仓库操作
在本地的仓库中添加一个C语言的头文件看看实际的效果,克隆下来的目的是将本地仓库放置代码。git commit - m “描述信息表示的是代码的描述信息”git commit -m "描述" 将文件添加到本地仓库。git commit -m "描述" 将文件添加到本地仓库。注:在使用push将代码推送到远程仓库时出现这个问题。git push 将代码推送到远程仓库。git push 将代码推送到远程仓库。git push 将代码推送到远程仓库。使用命令方式将代码推送到远程仓库。
2025-02-15 23:32:41
481
原创 1-7 gitee代码推送问题
注意:我们再推送代码的时候,或者需要执行新的操作的时候,将远程仓库的内容拉取到本地,然后推送上去。在我们使用git push将本地的代码推送到远程仓库的时候会出现以下的错误?保持不同的仓库中文件是一致的需要将。
2025-02-15 18:02:02
391
原创 1-5 gitee代码提交
出现这个问题的原因是我们还有一个文件在使用中,将这个文件关闭使用状态,重新添加即可。右键git选择添加按钮,添加中选择全选,然后点击确定。3 push-推送本次添加操作到远程仓。第一次推送可能会要你提供账号和密码,1 add-将代码添加到本地仓库。2 commit-提交代码到仓库。点击push将文件推送到远程仓库。出现以上的页面表示添加成功。出现以下的页面表示推送成功。出现成功字样表示提交成功。后续操作待更新...
2025-02-15 17:27:49
310
原创 1-4 克隆远程仓库到本地
如何克隆远程仓库到本地?F盘下新建code下一个存放项目的目录小乌龟的操作符号 克隆仓库成功:点击关闭查看文件夹显示注:如果没有看到.git这个文件夹的设置,我们需要进行文件显示隐藏文件打开
2025-02-15 12:07:56
138
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人