- 博客(33)
- 收藏
- 关注
原创 个人记述-AI的用处
对于我们这种想要学技术,但是看不懂技术手册又找不到一个好学的教程又没有一个老师带,AI真的是散修的福音。无论有什么问题AI都能够给你回答,无论多么生涩的技术手册和例程代码,AI都能够带着你把这些知识学透彻,还能帮你举一反三量身定制一些练习题辅助你巩固刚学过的知识,还能够根据你当前的技术能力定制一个符合你知识体系的项目,然后再定制最新的目标去学习新的知识。
2026-09-11 22:19:03
12
原创 CH571F蓝牙功能测试1-手机控制CH571F最小系统板LED
我们可以在这里面加上对LED的判断逻辑,如下所示。蓝牙设备的名字可以在工程路径"\EVT\EXAM\BLE\Peripheral\APP\peripheral.c"的static uint8_t scanRspData[]中查看并修改。在case SIMPLEPROFILE_CHAR1:{}中的判断逻辑我就不过多解释了,就是简单的判断接收到的数据是1还是0,然后进行点亮或熄灭PA8中的LED灯。以此控制我们的LED。本文使用的是官方例程CH573的\EVT\EXAM\BLE\Peripheral中的工程。
2026-07-17 23:39:04
248
原创 模仿STM32驱动开发实验imx6ull
相关工程路径:zwh@zwh-virtual-machine:~/linux/IMX6ULL/Board_Drivers/3_ledc_stm32$在结构体中添加寄存器的适合一定要注意地址的连续性,如果不连续的话要添加占位。对于STM32而言,使用一个结构体将一个外设的所有寄存器都放到一起。1、在start.S添加清除bss段代码。一、STM32寄存器结构体详解。2、添加寄存器结构体。
2026-04-21 06:00:00
39
原创 IMX6ULL点灯流程
第三步,进入~/linux/IMX6ULL/Board_Drivers/1_leds$运行make。第五步,选择文件夹并执行imxdownload工具包。第四步,插入SD卡查看文件夹ls /dev/sd*第六步,拨码开关1和7上拨,插入SD卡,通电。第二步,编写makefile文件。第一步,编写led.s文件。
2026-04-20 06:00:00
31
原创 IMX启动方式选择
使用BOOT_CFG[7:4]进行选择,有BOOT_CFG1,2,3。BOOT_MODE0和BOOT_MOODE1,这两个是使用两个IO来控制的.选择从USB启动还是内部BOOT启动。当我们选择从内部的BOOT启动的时候,内部的BOOTROOM就会运行,根据板子上设置的启动设备,从指定的启动设备读取bin文件,并且把bin文件拷贝到ddr,初始化ddr,跳转到bin文件,链接起始地址去运行代码。前提是,设置的MODE1和MODE0是从内部BOOT启动的,也就是MODE1=1,MODE0=0。
2026-04-19 06:00:00
234
原创 链接脚本SECTIONS逐行深度解析
摘要:该链接脚本定义了嵌入式开发中程序的内存布局规则。关键点包括:1) 从0x87800000地址开始存放程序;2) 优先放置start.o启动代码;3) 按顺序组织.text(代码)、.rodata(常量)、.data(初始化变量)和.bss(未初始化变量)段;4) 使用ALIGN(4)实现4字节对齐提高访问效率;5) 通过__bss_start/__bss_end标记bss段边界,供启动代码清零未初始化变量。该脚本确保了程序在内存中的正确布局和初始化顺序,是嵌入式系统开发的核心配置。
2026-04-17 15:57:10
246
原创 嵌入式Linux学习-默认规则
本文介绍了Makefile基本语法中的三个基础符号(;、&&、\)的用法差异,重点说明了&&和;在执行多条命令时的不同行为:&&会在前命令失败时停止执行,而;会继续执行。文章还演示了Makefile的默认编译规则,即自动将.c文件编译为.o文件,但指出该规则存在缺陷——当.h头文件修改时不会触发.o文件更新。最后给出了一个包含main.o、input.o、calcu.o的Makefile示例,展示了编译过程和清理操作。
2026-03-17 22:55:58
78
原创 嵌入式Linux学习-Makefile基本语法:目标、依赖、命令、伪目标.PHONY
根据【正点原子】I.MX6U嵌入式Linux驱动开发指南V2.0.1.pdf中的p143页,使用Vi编辑器完成main.c、input.c、calcu.c、input.h、calcu.h文件的编写。总结:Makefile 管编译,.o 是缓存,main 是成品,clean 是大扫除,日常只 make,不删 .o。输入sudo make clean可清除当前目录下所有的.o结尾的文件,以及main可执行文件。编写完以上五个基础文件后,在当前目录下创建makefile文件。
2026-03-15 17:56:55
106
原创 C语言-数据结构-2-单链表程序-增删改查
今天学习内容是关于C语言数据结构的单链表程序,其中涉及了结构体、malloc动态分配地址的操作。首先我们根据程序需要,写出头文件//原本是使用malloc.h来作为malloc()函数的头文件,但是后续发现malloc.h是非标准扩展,主要在某些Unix/Linux系统中存在,不是C标准的一部分,因此采用C标准库头文件stdlib.h,其中包含了malloc,calloc,realloc,free等内存管理函数。
2025-11-15 20:17:20
351
原创 C语言-数据结构-1-动态数组
(2)需要检查内存是否分配成功,通过判断new_data是否为NULL来进行检查,若new_data为空的话,表示分配失败,需要结束整个程序,若成功,在后续就可以把new_data和new_capacity赋值给arr->data和arr->capacity了。(3)无论是否需要扩容,在本函数的最后一步,需要对arr->data[arr->size]进行赋值,因为本函数的作用就是在data中增加新的数据。动态数组,就是能自动扩容的数组,当数组满的时候能够实现高效的扩容,节省系统空间。
2025-11-06 23:00:36
906
原创 C语言:5.20程序练习题
程序分为两部分:上半部分和下半部分。上半部分打印一个逐渐增大的星号图案,下半部分打印一个逐渐缩小的星号图案。:使用一个外层循环遍历所有行,一个内层循环遍历所有列。:不再需要单独处理上下半部分,统一用数学逻辑处理。判断是否打印星号,直接确定菱形边界。
2025-03-13 21:32:08
692
原创 C语言:6.22练习题数组解答
的总大小(这里是 100 字节),而不是字符串的实际长度。类型,范围有限(-128 到 127),可能导致溢出。是数组的总大小(100),而不是字符串的实际长度。这个变量用于统计小写字母的数量。,大小为 100,用于存储用户输入的字符串。的值加 1,用于统计小写字母的数量。是否为小写字母,而不是检查字符串。是否为小写字母,而不是字符串。,但这里错误地传递了数组。来获取字符串的实际长度。的值,即小写字母的数量。:这里检查的是循环变量。
2025-03-11 23:45:02
420
原创 C语言:6.20字符型数据练习题
如果输入的数字超过 `int` 类型的范围,可能会导致溢出问题。可以根据实际需求使用更大的数据类型(如 `long long`)。把这一行中的数字转换成一个整数。例如,若输入(<CR>代表 Enter键):2 4 8 3<CR>则输出 整数:2483。如果输入格式不同(例如多个空格或其他字符),程序仍然可以正确提取数字字符并生成整数。编写程序,输人一行数字字符(用回车结束),每个数字字符 的前后都有空格。程序假设输入的数字字符之间只有一个空格,并且输入的数字字符前后也有空格。
2025-03-10 22:01:03
726
原创 C语言:一维数组练习题
代码解释: 数组初始化: 这行代码初始化了一个包含10个整数的数组。第一个元素被显式初始化为1,其余元素自动初始化为0。输出数组元素: 输出数组的第5个元素(索引为4),由于未被显式初始化,输出为0。 将数组的第5个元素赋值为1。 再次输出数组的第5个元素,此时输出为1。计算数组和元素的内存占用: 计算整个数组占用的内存空间。由于数组有10个int元素,每个int占4字节,所以的值为40。 计算数组中单个元素占用的内存空间。是一个int,所以的值为4。输出结果: 输出数组和单个元素的内存占用情况。
2025-03-09 22:39:13
396
原创 C语言练习题:数组统计字符
输入一行数字字符,请用数组元素作为计数器老统计每个数字字符的个数,用下标为0的元素统计字符0的个数,用下标为1的元素统计字符1的个数......
2025-03-04 23:33:36
417
原创 C语言练习题6.19
'\n')遍历字符数组,直到遇到字符串结束符`\0`或换行符`\n`。用于从标准输入读取一行字符,并将其存储在`input`数组中。用C语言编写的程序,它可以从用户输入中读取一行字符,并输出每个字符及其对应的ASCII码值,每行输出三对。4. if ((i + 1) % 3 == 0)每输出三对字符和ASCII码值后换行。
2025-03-03 22:36:19
387
原创 C语言练习题:求序列1-3+5-7+...-99+101的和
本文涉及到的知识点有:for循环、while循环、累加+=和累乘*=的使用。题目来源:《全国计算机等级考试二级教程-C语言程序设计》练习题5.17。
2025-02-28 12:36:20
777
原创 C语言练习题:三种if语句、嵌套三元运算符
本文涉及到的知识点有:if语句(三种写法)、switch语句、三元运算符(嵌套使用)本文的题目来源于《全国计算机等级考试二级教程-C语言程序设计》练习题4.25对于以下函数:编写程序,要求输入x的值,输出y的值。分别用:不嵌套的if语句、嵌套的if语句、if-else语句、switch语句
2025-02-27 00:10:39
1293
原创 Linux练习题
将一个命令的输出作为另一个命令的输入:列出当前目录下所有文件和文件夹的详细信息,并通过管道将输出传递给grep命令,查找.txt后缀的文件信息。,列出当前目录下所有文件和文件夹的详细信息,并通过管道将输出传递给grep命令,查找.txt后缀的文件信息,再将结果传递给wc -l命令统计。注意事项:由于字体原因,文中出现的小写L为l与管道符号|及其相似,具体如何区分请看框中的代码,代码的字体能够区分小写L和管道符号|-l指的是详细信息(权限、大小、时间...),如果不加-l,那么列出的信息是文件目录和名称。
2025-02-26 00:10:10
1794
原创 Linux中ls、grep、wc、sort、>、|的使用
本篇主要是简单介绍Linux中ls、grep、wc、sort、>、|的使用、展示代码。
2025-02-26 00:07:01
2082
原创 逻辑运算符||或、数组输入汉字、读取汉字、三元运算符?:
本文知识点涉及到整型与变量、输入输出函数、一维数组、if判断语句、逻辑运算符或||、三元运算符(?:)
2025-02-24 13:03:14
247
原创 解决vmware-tools、sudo ./vmware-install.pl安装失败的情况
sudo ./vmware-install.pl然后一直回车,安装失败后,我们就要注意看最后一条敲no...
2025-02-23 13:17:27
1614
原创 巧用C语言取模运算符%
本文知识点以及代码借鉴于C Primer Plus(第六版)中文版中的5.3.2取模运算符:%........97。取模运算符用于整数运算。取模运算符给出其左侧整数除以右侧整数的余数。本文将展示取模运算符一种用途:输入秒数,自动转化为几分几秒。并且取模运算符只能用于整数运算,不能用于浮点数!并且在本文中还涉及到while循环的开关使用。以上就是全部的代码,大家可以自行润一润。
2025-02-21 20:37:27
590
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅