提示:文章
文章目录
前言
前期疑问:
本文目标:
一、背景
最近在看ucosiii教程
二、
2.1 在头文件中定义变量
在教程中看到了在头文件定义变量的方法。
之前一直的概念是变量声明不能写在头文件中。因为当头文件被包含了,就会出现变量重定义的情况,不过看教程竟然提供了一种头文件中定义变量的方法。之前看的还晕晕的,今天在看了好几遍后终于看懂了一些,记录一下吧。
2.2 ucos操作系统时基
文中说ucos需要一个时钟作为时基。其他时钟输入也可以,不过systick正好很方便。然后提到systick以一个24位寄存器作为计数器,倒计时到0后产生中断。查斌我就有个疑问。
像jd那样,在中断中对全局变量g_tick进行++操作。然后在loop中去读这个g_tick值,这个值到startTIck差值达到设定值(比如1000ms),那可以作为定时器。但是像野火教程中的那种阻塞型的,是怎么做到的?
写到这边的时候我好想又明白了。是对24位计数器倒计数到0,然后某个寄存器置位。在while里等待这个置位标志。等到置位后完成延时。
三、疑问解答
3.1 什么是时间片
什么是时间片
3.1
总结
未完待续