近期将切换服务器,因此可能出现服务器不稳定的情况,预计持续一周左右。
在此期间不会更新网站内容。
感谢支持,预祝春节快乐!
2024年1月19日,新服务器上线,相比之前增加了带宽和硬盘容量。
[......]
近期将切换服务器,因此可能出现服务器不稳定的情况,预计持续一周左右。
在此期间不会更新网站内容。
感谢支持,预祝春节快乐!
2024年1月19日,新服务器上线,相比之前增加了带宽和硬盘容量。
[......]
我们看到的最简单的 C++ 代码是如下形式:
问题来了:如何在 UEFI 下面实现这种形式的代码?根据【参考1】,cout << n; 中,<< 是个运算符,n 是个变量,运算符应该接的是变量,所以 cout是个变量,但是在C++中这种高级变量叫做对象。cout 是一个对象。
因此,我们可以通过定义 cout 这个对象,然后定义 << 这个运算符即可。完整代码如下:
运行结果如下:
已经非常像了。接下来还有一个 std 的问题。这个可以通过 Namespace来实现。“编写程序过程中,名称(name)可以是符号常量[......]
最近因为测试需要一款能够占用内存的软件,于是求助天杀,请他帮忙编写了一个能够占用指定内存大小的代码。
在使用之前因为微软的限制需要对 Windows进行一些设定:
1.运行 gpedit.msc ,打开“本地组策略编辑器”
2.找到位于 “计算机配置”-> “Windows设置”->“安全设置”->“本地策略”->“用户权限分配”中的“锁定内存页”
3.接下来的目标是将“Administrators”加入其中。点击“添加用户组或组”。
4.点击“对象类型”按钮,勾选其中的“组”
5. 之后在“输[......]
写了一个简单的串口测试工具,测试的是写入的速度。简单的说,就是打开串口,然后向里面写入数值,计算写入耗费的时间。通常来说,我们使用 USB 转串口设备,决定速度的因素有两个:1. USB 处理数据的时间 2.设备转串口的速度。其中最主要的因素是后者。
使用 CH343 进行测试:
'
编译后的 EXE 下载:
[......]
在使用 MounRiver 的过程中,你可能会遇到将 Exam中的例子搬移到其他路径之后无法工作的问题,这是由于Exam项目都依赖了\EXAM\SRC 下面的文件。解决这个问题的方法是:
重复2-5步骤,直到所有的错误消失。
附件是一个按照上面修改过的 SimulateCDC 的例子, 可以放在任意的位置。
参考:
1.https://www.wch.cn/downloads/CH569EVT_ZIP.html
[......]
C++中使用关键字 class 来定义类, 其基本形式如下:
有一种比较特别的函数,被称为“构造函数”,名称和类名称相同。在创建类的对象时,编译器就运行一个构造函数。
设计一个Time类如下,其中有2个构造函数,其中是一个是构造函数的重载。如果在创建过程中有加参数,那么会调用重载之后的构造函数。
完整代码如下:
上述代码运行结果如下:
此外,还有析构函数,与构造函数功能相反,析构函数不是完成对对象本身的销毁,局部对象销毁工作是由编译器完成的。而对象在销毁时会自动调用析构函数,完成对象中资源的清理工作。
有兴趣的朋友可以自行研究。
参考:[......]
ESP32-S3 是乐鑫科技推出的一款 WIFI/蓝牙 MCU,它可以看作是 ESP32-S2 的升级版本,相比S2 增加了蓝牙功能,因此我们有机会设计各种蓝牙和USB 相关的作品。这次带来的就是能够将 USB 鼠标转为蓝牙鼠标的装置。
电路比较简单,基本上相当于ESP32-S3最小系统引出 USB 接口即可:
板子上分别有一个USB公头和母头,公头用于取电,母头用于连接设备:
程序基本结构是:
其中的 USB Host 基于esp32-usb-host-demos-main 库。BLE 鼠标基于ESP32-BLE-Mouse-Main库。因为这个库并不支持[......]
去年11月份 edk2 202311正式发布在:
https://github.com/tianocore/edk2/releases/tag/edk2-stable202311
从 History 来看,解决了不少Bug:
和之前类似,这里放上一个完整版,补全了所有的三方库,大小是136MB 左右。
链接:
https://pan.baidu.com/s/1eFC1XwfNTKj7hs_JRRieuw?pwd=LABZ
提取码: LABZ
个人建议:除非有特别明确的目的,否则没有必要追求最新的版本, 所谓 “小车能跑只管推”。
[......]
在之前的文章中【参考1】介绍了一个基于 Visual C++非常简单的 UEFI 开发框架。偶然的机会发现使用这个架构可以方便的实现C++ 的编写。于是,从这里开始,介绍如何使用这个框架学习简单的C++知识。
这次首先介绍实验环境的配置。在 C:\BuildBs\CppStudy\ 下创建 CPP 目录,其中放置测试使用到的文件:
其中 gfx.cpp 是源代码,g1.bat 是用于编译的批处理,这里直接使用批处理来进行编译,其中写入的都是绝对路径,这样更加直观容易理解发生了生么。
编译方法是打开 VS2019 X86 Command窗口(必须使用X64 窗口),在目录下[......]
前一段想在一个视频中增加一个计时器的画面,然后忽然发现视频编辑工具并没有直接提供这样的功能。通常建议的手段是:直接插入其他计时器的视频。最简单的做法是在手机上安装一个秒表之类的软件,然后通过内置的录屏功能得到需要的视频。只是这样方法很难获得需要的背景颜色和文字颜色。
正好最近研究了 EasyX 的使用,于是通过编程生成图片,然后使用FFMpeg 把图片粘成视频。
这次测试的代码如下:
用于生成视频的命令如下:
最终的结果可以在B站看到
【EasyX 生成1分钟计时器视频】
https://www.bilibili.com/video/BV1fi4y[......]