摘要: 1.什么是信号量 在UCOSIII中,信号量分为两种:二值信号量和计数信号量 二值信号量就是只有两个值(0和1)的信号量,当它为1的时候,与它绑定的资源就可以被访问,当它为0的时候,与它绑定的资源不可以被访问。试图访问一个信号量为0的资源的任务会被放入到等待信号量的任务表中,在等待信号量的时候也可以 阅读全文
posted @ 2020-05-01 00:10 薛定谔的小灯泡 阅读(1833) 评论(0) 推荐(0)
摘要: 记录一下和任务创建有关的函数以及这些函数的用法。以下函数在os_task.c文件中。 1.任务创建 1.1任务创建API使用 创建任务使用 OSTaskCreate(),该函数原型如下: void OSTaskCreate (OS_TCB *p_tcb, //任务控制块 CPU_CHAR *p_na 阅读全文
posted @ 2020-05-01 00:09 薛定谔的小灯泡 阅读(525) 评论(0) 推荐(0)
摘要: 1.什么是时间片,他的作用是什么 在UCOSII下,同一优先级下只能有一个任务。在UCOSIII下,同一优先级下可以有多个任务。所以在UCOSIII下引入时间片轮转调度解决相同优先级任务都可以执行的问题。还需要注意的事,我们只需要配置时间片功能,系统即可自动完成调度,不需要用户手动调用函数。配置过程 阅读全文
posted @ 2020-05-01 00:05 薛定谔的小灯泡 阅读(1272) 评论(0) 推荐(0)
摘要: ucosIII_用户级函数API记录(常用的,不完全) 使用UCOSIII操作系统就是在使用这个系统提供的一系列函数,常用的函数都在UCOSIII/SOURCE目录下。 这些文件下包括了我们要使用的任务创建、信号量、消息队列等一系列API。但是有些函数是我们不能使用的。分为系统级API和用户级API 阅读全文
posted @ 2020-05-01 00:04 薛定谔的小灯泡 阅读(220) 评论(0) 推荐(0)
摘要: 1 private void writeContronls(string Rx, int rv) 2 { 3 foreach (Control cn in this.groupBox1.Controls) 4 { 5 if (cn is TextBox && cn.Name == Rx) 6 { 7 阅读全文
posted @ 2020-04-09 13:20 薛定谔的小灯泡 阅读(296) 评论(0) 推荐(0)
摘要: 2020 新的开始 阅读全文
posted @ 2020-01-14 21:47 薛定谔的小灯泡 阅读(132) 评论(0) 推荐(0)
摘要: 由我们写好的源代码到CPU可以认识并执行的二进制中间经过很多步骤。 1.从源代码到可执行程序的过程 (1)源代码.c文件先经过预处理器,生成一个中间文件.i文件 (2).i文件经过编译生成汇编.s文件 (3).s的汇编文件经过汇编器生成.o的目标文件 (4).o的目标文件经过链接器生成.elf可执行 阅读全文
posted @ 2016-07-15 20:34 薛定谔的小灯泡 阅读(162) 评论(0) 推荐(0)
摘要: typedef是一个关键字,可以重命名一些数据类型也可以重定义一些新的数据类型。我们从以下几个角度去理解typedef。 1.typedef和普通数据类型类型 typedef int MYINT; int a = 10; MYINT B = 20; 我们给int重命名成MYINT,这时候 int 和 阅读全文
posted @ 2016-07-02 17:55 薛定谔的小灯泡 阅读(192) 评论(0) 推荐(0)
摘要: 在Linux 内核中经常看见,数组指针,指针数组,函数指针等,这些都是C语言的高级语法,之前我们了解了数组指针和指针数组,在学习他们的过程中使用逐层分析的方法,这回我们使用这个方法再来学习函数指针。 1.函数指针是什么? 1.1.概念理解 (1)函数指针、数组指针、普通指针之间并没有本质区别,区别在 阅读全文
posted @ 2016-07-02 17:49 薛定谔的小灯泡 阅读(112) 评论(0) 推荐(0)
摘要: 这片文章介绍二维数组int a[ i ] [ j ]中的符号:a,&a[ i ],&a[ i ][ j ],a[ i ][ j ],&a[ i ] [ j ]的含义,重点在后面第二部分的分析,但是前面第一部分的复习数组指针,指针数组和二维指针是前提,前面的不会,后面的没法理解。这片文章写的有些费劲, 阅读全文
posted @ 2016-06-30 20:31 薛定谔的小灯泡 阅读(137) 评论(0) 推荐(0)