UCOSIII

文章探讨了ucosiii教程中在头文件定义变量的技巧,以及如何利用systick实现非阻塞定时器。作者解释了systick的工作原理,并对时间片概念进行了初步理解。
摘要由CSDN通过智能技术生成

提示:文章

文章目录

前言

前期疑问:
本文目标:


一、背景

最近在看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


总结

未完待续

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值