- 博客(75)
- 资源 (3)
- 收藏
- 关注
原创 stm8\MSP430与stm32低功耗性能对比
对比维度STM8 低功耗特性STM32 低功耗特性极致功耗弱(μA 级待机)强(nA 级待机,关机模式接近零功耗)功耗灵活性低(仅基础模式)高(多级模式+动态调节)成本低(8 位架构,硬件简单)高(32 位架构,低功耗工艺溢价)开发复杂度低(指令集简单,功耗配置少)高(需配置多级模式、唤醒源、电压调节)选型结论若追求“低成本+够用的低功耗”,且功能极简 → 选 STM8;
2025-12-09 14:34:58
596
原创 windos强制大小写shell命令
这个命令会将当前用户的语言列表设置为英文(美国),从而实现输入语言的切换。执行该命令需要管理员权限,运行后系统会立即应用英文输入设置。要恢复之前的输入法(比如中文输入法),可以通过或。
2025-11-12 16:43:30
258
原创 音频读取播放
要逐个字节解析.awv文件,首先需要明确:.awv,其结构通常与特定软件(如某些录音工具、嵌入式设备录音程序)或硬件相关,不同来源的.awv文件格式可能存在差异。
2025-07-09 10:34:27
700
原创 linux杀死进程自身
如果你希望立即终止进程而不给它清理的机会,可以使用 SIGKILL 信号。请注意,SIGKILL 不能被进程捕获或忽略,因此它总是会立即终止进程。是一个特殊的 Shell 变量,它表示当前 Shell 进程的进程 ID(PID)。你可以使用kill` 命令来发送信号给自身。在 Shell 脚本中,进程可以通过多种方式终止自身。最常见的方法是使用 kill 命令发送信号给当前进程。通过这些方法,Shell 脚本可以优雅地终止自身,或者在需要时强制终止。方法 2:使用 SIGKILL。
2025-05-22 18:00:13
354
原创 yolo笔记
遇到安装完闪退问题可以再anaconda环境创建python3.8版本解决(验证可用)这里也可以先下载下来zip然后直接解压。测试摄像头模式验证安装是否成功。或者修改配置文件(未验证)
2024-10-15 16:34:29
498
原创 将WIN10的wifi上网分享给以太网接口
目录打开网络设置设置属性点这里的设置将wlan主机的以太网接口IP设为自动获取如果连接不成功,拔网线重连一次打开网络设置设置属性点这里的设置将wlan主机的以太网接口IP设为自动获取如果连接不成功,拔网线重连一次
2024-06-22 15:37:09
2039
原创 linux 读取IO出现阻塞
在您提供的代码片段中,您正在尝试打开一个设备文件(很可能是一个输入设备,如键盘或触摸屏)并使用 read 函数来读取该设备上的事件。但是,您提到 read 调用似乎一直阻塞。最后,请注意,直接操作设备文件通常需要深入的Linux内核和设备驱动程序知识。如果您不熟悉这些概念,请确保在尝试之前仔细研究相关文档和示例代码。
2024-05-30 08:00:16
583
原创 C语言——指针2
这个程序中,(a > 2) & (b < 4) 表示将 a > 2 和 b < 4 的结果进行逻辑与运算,然后将结果赋值给 c。这个程序会输出 20,因为 *p = 20 表示将 p 所指向地址上的值修改为 20,即将 a 的值修改为 20。在 C 语言中,* 和 & 是两个常用的操作符,它们分别表示指针运算符和地址运算符。这个程序会输出 10,因为 *p 表示获取 p 所指向地址上的值,即 a 的值。这个程序中,&a 表示获取变量 a 的地址,然后将这个地址赋值给指针变量 p。
2024-04-24 14:53:54
1047
原创 ESP32调试笔记
正是因为两种模式接线不同,所以这个底板在Thonny中只能用来下载固件。esp32cam有两个模式:下载模式、运行模式。两种模式的接线不同 IO0 短路 GND!
2024-04-08 14:03:04
606
原创 c语言--跳出continue、break、goto
对于 for 循环,continue 语句执行后自增语句仍然会执行。while 循环,continue 语句重新执行条件判断语句。C 语言中的 continue 语句有点像 break 语句。但它不是强制终止,continue 会跳过当前循环中的代码,强迫开始下一次循环。如果您使用的是嵌套循环(即一个循环内嵌套另一个循环),break 语句会停止执行最内层的循环,然后开始执行该块之后的下一行代码。当 break 语句出现在一个循环内时,循环会立即终止,且程序流将继续执行紧接着循环的下一条语句。
2024-03-27 15:20:51
645
原创 linux工具脚本
脚本会将数据字符串中的空格替换为",0x",然后将结果输出到终端。如果您想将结果保存到文件中,可以使用重定向操作符。),然后运行该脚本即可实现将给定的数据字符串中的空格替换为",0x"。将以上代码保存为一个脚本文件(例如。以上命令将结果保存到。
2024-01-18 09:49:27
477
原创 linux c语言记录内核错误
在 Linux C 程序中,将信息记录在日志文件中通常使用 syslog 守护进程来实现。这些库提供了更加灵活和强大的日志记录功能,可以满足不同的日志记录需求。函数将自定义的错误信息记录到系统日志中。需要注意的是,权限的设置、日志文件的路径等问题会受到系统配置的影响。记录的日志将会存储在系统的默认日志文件中,通常在。,你也可以使用第三方的日志库来记录日志,例如。下面是一个简单的示例代码,演示如何使用。记录自定义的错误信息,最后使用。等来更加灵活地记录日志。在这个示例中,我们使用。
2024-01-15 09:02:22
457
原创 linux c多线程优先级
需要注意的是,只有具有足够特权的用户才能设置线程的优先级。另外,设置线程优先级需要谨慎,不当的设置可能会影响系统的稳定性和响应性。需要注意的是,如果要使用实时调度策略(如 SCHED_FIFO 和 SCHED_RR),则需要具有足够的特权或者需要将程序编译为实时程序。在程序运行时,你可以观察到设置了最高优先级的线程会先执行,然后才是默认优先级的线程。在这个示例中,我们创建了3个线程,并为其中奇数号线程设置了最高优先级。以下是一个简单的示例,演示了在 Linux C 中使用多个线程并设置不同优先级的过程。
2024-01-11 15:15:14
872
原创 linux线程重启
是的,在Linux C中,你可以使用一个单独的线程来检测特定的按键按下事件,并在检测到按键按下事件后对指定线程进行重启。请注意,这里只是示例代码,实际场景中需要根据具体的条件和需求来定义特定条件,并设置相应的逻辑来触发线程重启。在主线程中,我们添加了对条件变量的等待,以便在检测到按键按下后实现线程的重启。需要注意的是,这里使用了互斥锁和条件变量来实现线程的同步控制,确保对线程的重启操作在适当的时机进行。这里使用了条件变量和互斥锁来实现线程重启的同步控制,确保线程的重启操作能够在适当的时机进行。
2024-01-09 14:27:37
1339
原创 计算读取速度
函数来获取开始时间和结束时间,并计算总耗时。通过总字节数和总耗时计算出读取速度。请注意,在示例代码中,你需要将。函数打开指定文件,并以二进制模式(“rb”)读取文件。要在Linux下使用C语言读取指定文件并计算读取速度,你可以使用。函数读取文件内容到指定的缓冲区,并将已读取的字节数累加到。你可以根据需要在循环中处理读取的数据。替换为你要读取的文件路径。函数来读取文件,并使用。在示例代码中,我们使用。
2023-11-10 11:07:54
306
原创 linux c printf函数颜色,shell插入时间
要将当前时间插入到指定文件的指定位置,你可以使用sed命令结合Shell中的变量来实现。这个命令会将当前时间(使用date命令获取)插入到指定文件的指定行(使用指定行号代替)。请将指定行号替换为要插入时间的行号(从1开始计数),将文件名替换为要操作的文件名。这个命令会将当前时间插入到example.txt文件的第3行。注意,使用-i选项可以直接在源文件中进行修改,如果你希望创建一个新文件并保留原文件不变,可以去除-i选项。
2023-09-28 16:22:31
231
原创 Unicode编码
UTF-8是一种常用的Unicode字符编码方式,支持包括汉字在内的几乎所有字符。UTF-16(定长编码):UTF-16是另一种广泛使用的Unicode字符编码方式。它使用16位(2个字节)编码大部分字符,但对一些辅助平面字符和罕见字符使用4个字节进行编码。UTF-32(定长编码):UTF-32是使用32位(4个字节)编码每个Unicode字符的编码方式。UTF-8(变长编码):UTF-8是一种常见的Unicode字符编码方式,用于在计算机存储和传输中表示字符。它可以使用1到4个字节来表示一个字符。
2023-09-27 10:36:06
173
原创 char与wchar
由于 wchar_t 类型涉及到多字节编码,可以使用宽字符输出函数来打印 wchar_t 类型的字符,例如 wprintf 或 putwchar。于 wchar_t 类型的字符,在打印之前需要调用 setlocale 函数来设置本地化环境,以确保宽字符输出函数能够正常工作。
2023-09-19 17:49:46
516
原创 yolov5的使用
具体来说,torchvision.datasets.CocoDetection用于创建一个COCO目标检测数据集,该数据集的根目录为’./data’,标注文件路径为’./data/annotations/instances_train2017.json’,并对数据进行转换(ToTensor)。然后,torch.utils.data.DataLoader用于创建一个数据加载器,它将数据集划分为大小为16的批次,并随机打乱数据,同时使用4个工作线程来加载数据。因此,以上程序输出的训练模型名字是yolov5s。
2023-09-12 16:59:18
726
原创 时钟、晶振概念
振荡器脉冲信号经过时钟电路二分频之后产生的单片机时钟信号的周期(用S表示)称为状态周期。故一个状态周期S包含2个节拍,前一时钟周期称为P1节拍,后一时钟周期称为P2节拍。2、时钟周期是计算机中最基本的、最小的时间单位。4、存在的原因:1个时钟周期无法干完一件事,而12个时钟周期能够完成基本的操作。所需时间:时钟周期 < 状态周期 < 机器周期 < 指令周期 < 总线周期。4、若晶振周期为12MHz,则时钟周期 = 1/12us。2、一般由12个时钟周期或者6个状态周期组成。取出并执行一条指令的时间。
2023-03-22 15:07:12
2176
原创 花生壳穿透
花生壳远程效果展示:客户端通过链接花生壳映射出的地址和端口可以实现外网访问。服务器(127.0.0.1电脑本机)创建socket链接的地址是127.0.0.1端口22。注意:花生壳建立映射链接模板选择TCP-SSH模板,端口号自动填写成22不用改。如果选择window远程模板实测无法链接(不要踩坑!!!!!!)
2022-11-15 21:29:57
148
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
1