Rust - Hello World

Rust - Hello World

Hello World 按照惯例,用全新编程语言写的第一个程序是Hello World,我们将新建一个 Rust 程序,并让其在屏幕上打印Hello, World!。 新建项目目录 这里我们新建一个目录来存放 Rust 代码,然后用编辑器打开文件。 $ mkdir hello_world $ cd

C 语言打印练习

C 语言打印练习

先分析题目,要求打印如下内容 * * * * * * * * * * 可以看到一共有四行内容,所以我们首先要在脑子里构建一个循环,循环次数为4 次,这里用 for 循环最为合适。 再分析横向,我们可以看到第一行打印了 4 个"*",之后每行依次递减,同样的,也在脑子里构建一个循

read_bits 函数掩码获取及计算

read_bits 函数掩码获取及计算

写在前面 嵌入式当中,使用例如i2c、spi等外设时,需要获取某个寄存器的某些位的具体值,这里就来探讨如何实现。 需求 现有需求,要求从寄存器获取从 第 5 位开始,往后数 3 位的值。 第 5 位开始,我们标记为:S = 5。 读取 3 个位,我们标记为:bit_len = 3。 这里先要明确一个

write_bits函数掩码获取及计算

write_bits函数掩码获取及计算

写在前面 嵌入式当中,使用例如i2c、spi等外设时,需要对寄存器中的某些连续位进行写入操作,而不影响其他位,本文来探讨如何实现。 需求 现在有数据要求写入到寄存器,从第 3 位开始,连续写入 4 位的数据。写入的数据为:1100,我们假设寄存器原始数据为:0110 1100。 我们定义从第 3 位

创建GATTS服务来控制开发板上的LED

创建GATTS服务来控制开发板上的LED

创建项目 使用 idf.py create-project 创建新项目 idf.py create-project gatts 随后使用更改项目配置,使其支持蓝牙 idf.py menuconfig 编辑gatts.c 包含要使用的头文件 #include <stdio.h>

GDB Set Command

GDB Set Command

GDB Set 命令的两个重要功能 设置代码中变量的值 设置环境变量的值 set var <var>=<value> set var i=10 set $<var>=<value> set $a=10 在 GDB 调试环境中设置一个变量并赋值。 有什么用? 假设有一个数组 k,在运行一段时间之后,想

使用 ESPPROG 烧录 ESP32 程序

使用 ESPPROG 烧录 ESP32 程序

写在前面 既然已经拥有了一块 espprog,那么我们一定要物尽其用,使用它来烧录和调试 esp32。 我们使用 openocd 来烧录程序。 macOS 下载安装 ftdi 因为一些这里不再赘述的原因,在macOS下必须要安装ftdi驱动,才能够使用espprog,所以,使用以下命令安装ftid。

neovim + clang-format 修改缩进为 4

neovim + clang-format 修改缩进为 4

写在前面 使用lazyvim时,搭配clang-format格式化代码,会将代码的缩进改为 2 spaces,因为习惯 4 spaces 缩进,遂改之。 1. 补充options.lua vim ~/.config/nvim/lua/options.lua 添加以下内容: local opt = v

lazyvim 中设置 relativenumber 从 1 开始

lazyvim 中设置 relativenumber 从 1 开始

写在前面 使用 vim 多年,意识到一个问题,vim 的 relativenumber 是从 0 开始索引的,而非 0,导致在当前行进行某些操作时,需要心里默默加一行,造成了不便,遂寻法解决。 编辑lazyvim的ui配置文件 打开.local/share/nvim/lazy/LazyVim/lua

lazyvim ESC+jk 移动文本内容的问题

lazyvim ESC+jk 移动文本内容的问题

写在前面 使用lazyvim时,会发现,如果快速按下ESC + j/k,则文本会换行,这很不爽,很不符合直觉 打开lazyvim的用户选项设置文件 vim ~/.config/nvim/lua/options.lua 添加以下内容 -- unmap for moving lines local un