自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 收藏
  • 关注

原创 XV6 锁实验

直接用作链表项(这样可以不使用额外空间)连接成一个链表,在分配的时候,将物理页从链表中移除,回收时将物理页放回链表中。在这里无论是分配物理页或释放物理页,都需要修改 freelist 链表。该实验为每个 CPU 分配独立的 freelist,这样多个 CPU 并发分配物理页就不再会互相排斥了,提高了并行性。潜在问题:当CPU1在持有自身锁的时候去偷CPU2的页,此时CPU2也在持有自身锁的时候去CPU1偷页,会造成死锁。kalloc 原本的实现中,使用 freelist 链表,将空闲物理页。

2025-03-19 16:39:53 297

原创 ADC转换

【代码】ADC转换。

2024-07-12 16:35:56 153

原创 32定时器

计数器溢出频率:CK_CNT_OV = CK_CNT / (ARR + 1) = CK_PSC / (PSC + 1) / (ARR + 1)CK_CNT=72MHZ ARR:自动重装载值PWM:PWM频率: Freq = CK_PSC / (PSC + 1) / (ARR + 1)PWM占空比:Duty = CCR / (ARR + 1)PWM分辨率:Reso = 1 / (ARR + 1)CCR的值可以实时设置,初始值设为0。

2024-07-11 17:14:48 305

原创 外部中断EXTI

EXTI可以监测指定GPIO的电平信号,当其指定的GPIO口产生电平变化时,EXTI将立即向NVIC发出中断申请,经过NVIC裁决后即可中断CPU主程序,使CPU执行EXTI对应的中断程序。

2024-07-10 09:40:29 187

原创 C语言中的操作符

其中,“ / ”包括整型除法和浮点数除法,浮点数除法必须保证至少一个数是小数;取余操作“ % ”计算整除之后的余数,只针对整数,对浮点数不支持。

2024-01-28 23:36:03 788 1

原创 简单三子棋游戏

创建三个文件:1.test.c主函数所在,测试代码逻辑2. game.c存放功能函数,游戏代码实现。功能包括如下:(1)初始化棋盘;(2)打印键盘(3)玩家下棋;(4)电脑下棋;(5)判断输赢;

2024-01-26 19:25:11 365 1

原创 数组名的正确使用和冒泡排序

数组名本质上是数组首元素的地址,接收时需要用指针来接收。但是有两个例外:(1)sizeof(数组名),这里的数组名表示整个数组,计算的是整个数组的大小,单位是字节;(2)&数组名,这里的数组名也表示整个数组,取出的是整个数组的地址。运行结果。

2024-01-26 12:58:15 350 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除