- 博客(36)
- 收藏
- 关注
原创 结构数组的简单使用
/这条语句定义了一个有30个元素的结构数组,每个元素的类型为STUDENT。对结构数组的访问与普通数组相同,例如要访问第一个学生的学号,用stu[0].ID,访问第二个学生的成绩,用stu[1].score。例1:输入n个平面坐标系中的点(横坐标,纵坐标),将这些点按照距离原点从近到远的顺序排序并输出。结构数组的定义方式与普通数组的定义方式相同。当输入为0 0 时,测试结束,不需要计算输出0加0的结果。顾名思义,结构数组,当然就是数组元素为结构类型的数组。定义好了结构数组以后,如何对结构数组进行访问呢?
2025-03-18 12:22:53
118
原创 多组测试数据的输入
当输入为0 0 时,测试结束,不需要计算输出0加0的结果。对于每一组整数a和b,输出它们的和。每组包含两个整数a和b。输入包含多组测试数据。
2025-03-18 12:22:13
111
原创 类访问私有成员
(1)通过公共函数为私有成员赋值。(2)利用指针访问私有数据成员。(3)利用函数访问私有数据成员。(4)利用引用访问私有数据成员。
2025-03-18 12:21:47
221
原创 c++释放空间[动态分配】
其中,T 是任意类型名,p 是类型为 T* 的指针,N 代表“元素个数”,可以是任何值为正整数的表达式,表达式中可以包含变量、函数调用等。第二条 delete 语句会导致程序出错,因为 p 所指向的空间已经释放,p 不再是指向动态分配的内存空间的指针了。这样的语句会动态分配出一片大小为 sizeof(T) 字节的内存空间,并且将该内存空间的起始地址赋值给 p。同样地,要求被释放的指针 p 必须是指向动态分配的内存空间的指针,否则会出错。其中,T 是任意类型名,p 是类型为 T* 的指针。
2025-03-11 11:26:32
235
原创 C++如何保留2,3位小数输出
由程序员而不是一系列固定的规则控制内存持续时间,因此内存块可在一个函数中创建,而在另一个函数中释放。在编译时就已经知道了静态存储时期存储类变量所需的内存数量,存储在这一部分的数据在整个程序运行期间都可用。由于这点,动态内存分配所用的内存部分可能变成碎片状,也就是说,在活动的内存块之间散布着未使用的字节片。然而,一个自动变量在程序进入包含该变量定义的代码块时产生,在退出这一代码块时终止。这意味着在内存中,新变量在创建时按顺序加入,在消亡时按相反顺序移除。另一个是动态分配的内存的。我们来看一个理想模型。
2025-03-11 11:23:09
413
原创 U-Boot的编译与烧写
在U-Boot源码目录下生成u-boot.bin和u-boot.stm32镜像文件,需要将u-boot.stm32烧写到开发板的eMMC中。每个人的压缩包不一样,所以u-boot-stm32mp-2020.01-gdb8d2374-v1.0.tar.bz2可以替换的,解压后是。“u-boot-stm32mp-2020.01-r0”就是 ST 官方 uboot 源码包。编译多了一些文件,重点是 u-boot.bin 和 u-boot.stm32 这两个文件。修改前面创建的 tf-a.tsv 文件。
2024-12-20 18:14:26
772
原创 W: 无法下载 https://packages.microsoft.com/repos/vscode/dists/stable/InRelease 无法解析域名
意思是在下载 Visual Studio Code(VSCode)软件包时遇到的问题提示无法解析域名,我一看原来是上回把虚拟机改成桥接模式没改回来,然后运行就可以了(主要是因为网络连接)然后改了一下,改成net模式。
2024-12-20 18:12:53
351
原创 web基础 HTML 表单
它允许网页与用户进行交互,用户可以通过表单输入数据,提交数据到服务器进行处理。一个典型的表单由多个表单控件组成,比如文本框、单选按钮、复选框、提交按钮等。GET:将表单数据附加到 URL 后面,这样提交的数据可以通过 URL 看到(适用于少量数据和不敏感信息)。POST:将表单数据放在 HTTP 请求体中提交,数据不会显示在 URL 中,适用于提交大量或敏感数据。:定义表单控件的标签,并通过 for 属性与对应的控件(如 input)关联。:用于输入密码,输入的内容会被隐藏(显示为星号或圆点)。
2024-11-25 14:41:08
630
原创 使用 DOM 操作替代 document.write()
h1.style.color = ‘green’: 使用 JavaScript 设置 h1元素的 CSS 样式,将文字颜色改为绿色。document.body.appendChild(h1): 将创建的 h1 元素添加到页面的 body 元素内部。createTitle(text, color): 这是一个函数,用于创建并返回一个带有指定文本和颜色的 h1元素。document.createElement(‘h1’): 创建一个新的 HTML 元素。
2024-11-25 14:40:29
377
原创 JavaScript基础 document.write()方法
覆盖页面内容:如果 document.write() 在页面加载完成后被调用,它将覆盖整个页面的内容。这是因为 document.write() 会将新内容直接写入文档流中,可能导致页面上的其它内容丢失。document.write() 在现代开发中使用较少。
2024-11-24 12:59:07
358
原创 实验7 JavaScript编程基础7.1密码验证
(4) 函数show()内使用变量name接收文本框内字符,向div内输出形如“xx,你好……textObj.value获取文本框内容(input标记value属性值)。如果是,则在页面上输出“欢迎来到这里学习JavaScript。如果不是,则弹出对话框,显示“密码错误,前方危险。(2) 新建文件yanzheng.html,使用prompt() alert()函数及相关知识完成以下要求。(2) 页面:一个文本框,一个按钮,一个div#result。(3) 文本框用于输入姓名,点击按钮调用函数show()
2024-11-24 12:46:43
526
原创 编译和烧录TF-A(二)使用USB烧写TF-A到STM32MP157开发板的EMMC,运行TF-A
真正要烧写的 tf-a-stm32mp157d-atk-trusted.stm32,将 Ubuntu 里面的 tf-a-stm32mp157d-atk-trusted.stm32 发送到 images 目录下。只关注 trusted 目录下的文件,此目录下就保存了 MP1 所有型号的 TF-A 固件,包括正点原子开发板所使用的 tf-a-stm32mp157d-atk-trusted.stm32。tf-a-stm32mp157d-atk-trusted.stm32 是我们编译出来的 TF-A。
2024-11-18 15:48:27
854
原创 编译和烧录 TF-A(一)
固件(Firmware)是一种特殊的软件,通常被嵌入到硬件设备中,用于控制和管理该设备的基本操作和功能。通过与其他引导程序(如 U-Boot)配合使用,TF-A 使得基于 ARM 的设备能够安全、高效地启动操作系统,且提供硬件安全支持。4.解压完成以后就会得到一个名为“stm32wrapper4dbg-master”的文件夹,进入到此文件夹里面,然后编译并安装。2.解压正点原子TF-A源码 tf-a-stm32mp-2.2.r1-g463d4d8-v1.0.tar.bz2。
2024-11-18 15:23:15
637
原创 实验3独立按键实验
下载编程,关闭电源,然后打开,程序编译成功。修改芯片型号,串口,加载hex文件。key1对应p3.1。key2对应p3.0。key3对应p3.2。key4对应p3.3。
2024-11-15 22:33:44
258
原创 打开和使用 Makefile.sdk
文件的方法非常简单,可以通过文本编辑器打开它,也可以通过命令行工具进行构建操作。通常是在使用某些 SDK(软件开发工具包)时,生成的一个文件。中定义的规则进行构建。如果你遇到任何构建问题,确保检查文件中的编译规则以及你的环境设置。是一个构建文件,在 SDK 项目中,它包含了构建、清理和部署等规则。,或者直接在 VS Code 中通过 File > Open 打开该文件。,首先需要理解它的基本用途和如何在正确的环境中进行操作。,只想查看它的内容,可以在命令行中使用。文件中的规则来进行编译和构建。
2024-11-11 17:17:40
378
原创 Ubuntu 下 ST 官方软件安装(四) STM32CubeProgrammer 安装
1.新建一个名为“STM32CubeProgrammer”的文件夹,然后STM32CubeMX 安装包 en.stm32cubeprog_v2-5-0.zip。解压出来的文件一个都不要删除,防止安装的时候出错,在终端里面执行 SetupSTM32CubeProgrammer-2.5.0.linux。以后就可以直接在 Ubuntu 下通过 STM32CubeProgrammer 来烧写系统。参考文章Ubuntu 下 ST 官方软件安装(一) Java 环境安装。7.不要修改安装路径,采用默认路径即可。
2024-11-08 20:08:04
447
原创 Proteus 8 Professiona 实验2控制流水灯实验
本次实验增加了总线,总线分支,网络标号,熟练运用实验元器件的搜索和摆放,双击复制上一步连线操作,Ctrl画斜线,右键旋转以及单击右键放置和取消使用工具Proteus 8 Professional跑Keil uVision4的文件参考。
2024-11-08 19:47:54
2324
原创 Ubuntu 下 ST 官方软件安装(三)STM32CubeIDE 安装
STM32CubeIDE 安装参考文章Ubuntu 下 ST 官方软件安装(二) STM32CubeMX 安装参考文章ST官方开发工具(二) STM32CubeIDE安装。
2024-11-08 19:46:50
479
原创 Command ‘gcc‘ not found, did you mean: command ‘cgcc‘ from deb sparse解决办法
说明我系统中确实安装了多个版本的 gcc,包括 gcc-7 和一些交叉编译器。这表明 gcc 是存在的,但可能在命令行中无法直接使用 gcc 命令。运行 which gcc 查看 gcc 命令的路径是否正确。如果没有输出,说明 gcc 的路径未被添加到环境变量中。看到的错误信息表示系统上没有安装 gcc(GNU 编译器集合)。这表明GCC 安装是正确的。我先确认是否安装:运行 dpkg -l | grep gcc 查看是否有安装记录。安装完成后,就可以使用 gcc 命令来编译你的 C 程序了。
2024-11-06 19:50:38
481
原创 Ubuntu 下 ST 官方软件安装(二) STM32CubeMX 安装
中间出了错误原来是没切入cd en.stm32cubemx_v6-0-1,所以没找到解压后的SetupSTM32CubeMX-6.0.1.linux。2.STM32CubeMX 安装包 en.stm32cubemx_v6-0-1.zip 发送到此文件夹下(直接拉进去)参考文章Ubuntu 下 ST 官方软件安装(一) Java 环境安装。参考文章ST官方开发工具(一) STM32CubeMX 安装。2.打开搜索条,输入“STM32CubeMX”查找相应的文件。根据提示一步步安装下去,安装默认路径安装。
2024-11-06 19:48:46
619
原创 gcc -E 输出的预处理代码有什么用途
这个简单的例子展示了如何使用gcc -E来预处理 C 代码,从而查看在编译阶段之前的代码状态。这对理解宏的替换和头文件的包含非常有帮助。
2024-11-05 13:22:16
570
原创 Ubuntu 下 ST 官方软件安装(一) Java 环境安装
在 Ubuntu 下安装这三个软件也是需要 JAVA 运行环境的,Ubuntu 可能会默认安装了OpenJDK 环境,但是 STM32CubeProgrammer 是用 Oracle 的 JDK 编写的,所以需要先卸载掉默认的 OpeJDK。6.重启电脑,输入“java -version”查看 java 安装是否成功,安装成功的话就会打印出 java 环境的版本号。5.在 vim 中,按 Esc 键,输入 :wq,然后按 Enter 键保存并退出。然后按 o 键,按i进入插入模式,开始在新的一行输入内容。
2024-11-04 22:27:03
1138
原创 ST官方开发工具(三) STM32CubeProgrammer 安装
1.解压开发板光盘中的 STM32CubeProgrammer 安装压缩包,然后双击解压出来的“SetupSTM32CubeProgrammer-2.5.0.exe”STM32CubeProgrammer 需要 JAVA 运行环境,确保已经安装好了 JAVA 运行环境。参考我的文章ST官方开发工具(一) STM32CubeMX 安装。4.选择路径,新建文件夹,我建议放在D盘,然后点击Save。7.中途会安装驱动,按照提示选择安装即可;8.安装完成,点击 Next;
2024-11-04 22:15:57
1129
1
原创 ST官方开发工具(二) STM32CubeIDE安装
参考我发的文章ST官方开发工具(一),STM32CubeIDE 需要 JAVA 运行环境,确保已经安装好了 JAVA 运行环境。将下载好的 STM32CubeIDE 安装包解压到非中文路径下,如果路径中有中文,安装的时候可能会有错误。3.注意,安装路径不能有中文,否则会导致 STM32CubeIDE 软件无法安装,即使成功安装以。GDB 服务器组件,默认选择 J-Link 和 ST-Link 的组件,选择默认即可。后,也会导致无法正常创建和保存工程,无法正常进行编译。7.快捷方式如图,安装完成。
2024-11-04 10:05:14
537
原创 ST官方开发工具(一) STM32CubeMX 安装
这是 Java 8 的一个更新版本,属于 Java SE(Standard Edition)环境。该版本的 HotSpot JVM 是 64 位的,支持混合模式运行。7.如果你安装了 32 位的 Java,而某些软件要求 64 位版本,就会在启动时弹出警告提示。大家可以到 Java 官 网。在安装 STM32CbeMX 和 STM32CubeIDE 前我们要先安装 Java 的环境,Java 运行环境版。安装完 Java 运行环境之后,为了检测是否正常安装,我们可以打开 Windows 的 cmd 命。
2024-11-03 22:58:35
1026
原创 嵌入式Linux驱动开发环境搭建- 最新MobaXterm 软件安装和使用
可以看出,MobaXterm 软件支持很多种协议,比如 SSH、Telnet、Rsh、Xdmcp、RDP、VNC、FTP、SFTP、Serial 等等,我们现在就讲解一下如何建立 Serial 连接,也就是串口连接,因为我们使用MobaXterm的主要目的就是作为串口终端使用。毫无疑问,我们肯定选择免费的 Home Edition 版,点击下方的。MobaXterm 的主要作用是为用户提供一个集成的终端仿真环境,支持多种网络协议。一共有两个版本,左侧为免费的 Home Edition 版本,右侧为付费的。
2024-11-02 13:06:13
676
原创 嵌入式Linux驱动开发环境搭建-CH340 串口驱动安装
如果看到这样的条目,说明驱动已经成功安装。我们一般在 Windwos 下通过串口来调试程序,或者使用串口作为终端,STM32MP157 开发。CH340是一款常用的USB转串口转换芯片,通常用于将USB接口连接到TTL电平的串行设备。开始CH340 串口驱动安装,(我是从原子那里找到的安装)双击 SETUP.EXE,打开如图。再次,右键单击“USB-SERIAL CH340”设备,选择“属性”。在“驱动程序”选项卡中,可以查看驱动程序的详细信息和版本。右键单击“开始”按钮,选择“设备管理器”。
2024-11-02 12:24:44
1746
2
原创 linux开发必备知识(一)CH340相关以及驱动
CH340是一款常用的USB转串口转换芯片,通常用于将USB接口连接到TTL电平的串行设备。
2024-11-02 11:48:48
1559
原创 Proteus 8 Professional跑Keil uVision4的文件
Proteus 8 Professional跑Keil uVision4的文件
2024-10-31 16:30:08
549
原创 Ubuntu下载交叉编译器,有如何解决问题:未找到命令
中间遇到了这个问题试了几个都没什么用,因为检测编译器都在,然后换了个命令来实行一个简单的c语言提示:unbuntu编写一个简单的c语言1.首先可以创建一个XXX文件夹命令:mkdir XXX2.进入创建好的XXX文件夹:cd xxx (ps:返回上一层文件可以:cd /)3.创建一个c程序文件:touch XXX.c4.用vim编辑器对其进行编辑:vim XXX.c5.编辑完可以通过快捷键shift+zz 保存并推出编辑器。
2024-10-28 23:56:14
1223
原创 makefile简单复习及应用(一)
Makefile 可以通过 make -j 选项来支持多线程并发操作,这样可以显著缩短编译时间,尤其是在大型项目中,多个文件可以同时编译。通过跟踪文件的时间戳,Makefile 只会编译那些自上次编译以来已修改的源文件。这种增量编译机制有效地减少了不必要的编译时间,提高了效率。一旦编写好 Makefile,通常不需要频繁修改,只要项目结构没有变化,开发者可以通过简单的 make 命令来完成整个项目的构建,极大地提高了使用的便利性。
2024-10-27 23:56:31
880
原创 物联网控制技术第三章 单极性D/A转换器
比例因子为1意味着输出电压与输入数字代码之间存在直接的线性关系,比例因子为1表示DAC的输出电压能够完整地反映输入的数字信号,而不需要进行任何缩放或调整。其中,数字输入值是指输入DAC电路的二进制数据,最大数字值则由DAC的分辨率确定,参考电压为DAC电路提供的基准电压,通常为外部提供给DAC的电压源。输入范围:8位DAC的输入是一个8位二进制数,可以表示从0(00000000)到255(11111111)之间的256个不同的数字。3,比例计算:根据输入的数字值与最大值的比例,计算相应的输出电压。
2024-10-26 12:12:57
828
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人