学习笔记
文章平均质量分 73
ObviouslyCheng
b站:https://space.bilibili.com/305159954?spm_id_from=333.874.0.0
展开
-
I2C子系统-内核视角
来自韦东山课程。原创 2024-07-15 21:56:46 · 764 阅读 · 0 评论 -
I2C子系统-应用视角
i2c.h。原创 2024-07-15 21:49:14 · 629 阅读 · 0 评论 -
立创泰山派tspi-rk3566修改编译设备树,即编译内核(使用WSL、docker)
本文主要讲解使用WSL2与Docker修改设备树文件,编译内核并下载到立创泰山派rk3566开发板上。原创 2024-03-10 12:48:37 · 2758 阅读 · 3 评论 -
立创泰山派tspi-训练营笔记-WSL2安装使用Docker(Win11)
本文是在使用WSL2编译立创泰山派SDK时的一些笔记,也整合了网上很多大佬解决WSL2安装Docker,以及repo等方法。本文的系统为专业版原创 2024-02-06 12:21:10 · 1240 阅读 · 2 评论 -
立创泰山派tspi-Windows11安装与配置WSL2用于Linux开发
Windows 的 Windows Subsystem for Linux (WSL)AI解释:WSL 2允许用户在 Windows 系统上运行一个完整的 Linux 内核。与 WSL 1 相比,WSL 2 使用了更高度虚拟化的架构。WSL 1 主要是通过为 Windows 提供一个兼容层来运行 Linux 二进制文件,而 WSL 2 则是在 Windows 中运行一个真正的 Linux 内核,这也使得 WSL 2 具备更好的性能和更好的兼容性。原创 2024-02-02 15:05:21 · 1491 阅读 · 2 评论 -
Linux驱动学习-关中断与自旋锁
自旋锁可以保证临界区不受别的CPU和本CPU内的抢占进程打扰,但是得到锁的代码路径在执行临界区的时候,还可能受到中断和底半部(BH,稍后的章节会介绍)的影响。如果在获取锁期间发生中断,中断处理程序将不会执行,因为 IRQ 被禁用,这可能会导致一些问题。这对函数会在获取锁之前保存当前 CPU 的 IRQ 状态,并在释放锁后恢复保存的 IRQ 状态。DS18B20温度传感器Linux驱动,因为设备脉冲信号时间很短,很可能错失中断,且需要关中断。这两对函数的区别在于 IRQ(中断请求)的状态的保存和恢复方式。原创 2023-12-03 22:04:00 · 220 阅读 · 1 评论 -
学习笔记,递归函数
1.递归和非递归分别实现求第n个斐波那契数。非递归:int main(){ int i = 1; int j = 1; int n = 7; for (int k =1;k<=(n/2);k++) { i = i + j; j = i + j; } printf("第%d个斐波那契数为",n); if (n % 2 == 1) printf("%d\n", i); else printf("%d\n", j); return 0;}递归:in..原创 2022-02-25 13:09:12 · 708 阅读 · 0 评论 -
注意数组是不用允许拷贝,只存在传址调用。所以代码对形参数组arr的修改会作用在实参上,和使用指针是一样的
创建一个数组,实现函数init()初始化数组、实现empty()清空数组、实现reverse()函数完成数组元素的逆置。要求:自己设计函数的参数,返回值。1、初始化数组代码,初始化为0~sz-1:void init(int* pa,int sz){ int i = 0; for (i = 0; i < sz; i++) { *(pa + i) = i; }}2、清空数组代码:void empty(int* pa, int sz){ int i = 0;原创 2022-02-19 21:12:27 · 144 阅读 · 0 评论 -
求某一个数的二进制位中1的个数的方法(c语言)
方法1:除二取余注意:函数参数要定义为unsigned int(无符号整型),这样确保复数进来也可以被统计,如-1的补码为11111111111111111111111111111111(32个1)就可以被统计。int count_bit(unsigned int n){ int count = 0; while(n) { if (n % 2 == 1) { count++; } n /= 2; } return count;}int main(){原创 2022-02-17 20:43:41 · 579 阅读 · 0 评论