C语言
超级蒟蒻
这个作者很懒,什么都没留下…
展开
-
一种关于单片机定时器中断和数码管冲突问题的解决方案
问题发现我们会发现,同时存在定时器中断和数码管操作时,有时会导致数码管显示异常。原因探究.在定时器中断函数中不要操作P2和P1,因为定时器(T)和主板(M)的时钟频率不一样。有可能导致M刚操作完P2,T又去操作P0,导致正确的P2和P0没有成对出现,会造成数码管重影、闪烁之类的“异步冲突”。解决方案在《计算机操作系统》课程中,我们采用信号量机制来协调这种“互斥”操作。但是单片机里面我们只需要在定时器中断里面操作标志变量K,在M中判断K的值根据K值不同做出不同的操作。这样操作P2和P0的操作就全在M原创 2022-03-29 09:05:12 · 3434 阅读 · 0 评论 -
可以用声明变量的方式创建链表吗
绝了,今天异想天开,不用malloc动态申请内存,而用局部变量声明的方法去创建链表。让我这个刚学习链表的人搞懂了为什么要动态申请内存。左图代码:#include<stdio.h>#include<windows.h>struct Node{ char name[20]; float score; Node* next;}; int main(){ Node t; t.next=NULL; Node*head=&t; for(int i=0;.原创 2021-07-07 20:00:30 · 119 阅读 · 0 评论