event.c

来自「基于WINBOND单片机W78E516B的最小系统源代码.通过UART具有BOO」· C语言 代码 · 共 33 行

C
33
字号
#include "config.h"

U8 eventbuffer[4],eventrdpos,eventcount;

/*
函数    往事件队列中添加一个事件
参数    event   要添加的事件
*/
void pushevent(U8 event)
{
    U8 pos;

    if (eventcount >= 4) return;
    pos = (eventrdpos + eventcount) % 4;
    eventbuffer[pos] = event;
    eventcount++;
}

/*
函数    从事件队列中读取一个事件
返回    读取到的事件,没有事件则返回0xff
*/
U8 readevent(void)
{
    U8 event;

    if (eventcount == 0) return (0xff);
    eventcount--;
    event = eventbuffer[eventrdpos];
    if (++eventrdpos >= 4) eventrdpos = 0;
    return (event);
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?