📄 bsp.cpp
字号:
//////////////////////////////////////////////////////////////////////////////// Product: QDPP example, uC/OS-II, Turbo C++ 1.01, Large model// Last Updated for Version: 3.3.00// Date of the Last Update: Jan 24, 2007//// Q u a n t u m L e a P s// ---------------------------// innovating embedded systems//// Copyright (C) 2002-2007 Quantum Leaps, LLC. All rights reserved.//// This software may be distributed and modified under the terms of the GNU// General Public License version 2 (GPL) as published by the Free Software// Foundation and appearing in the file GPL.TXT included in the packaging of// this file. Please note that GPL Section 2[b] requires that all works based// on this software must also be made publicly available under the terms of// the GPL ("Copyleft").//// Alternatively, this software may be distributed and modified under the// terms of Quantum Leaps commercial licenses, which expressly supersede// the GPL and are specifically designed for licensees interested in// retaining the proprietary status of their code.//// Contact information:// Quantum Leaps Web site: http://www.quantum-leaps.com// e-mail: sales@quantum-leaps.com//////////////////////////////////////////////////////////////////////////////#include "qf_port.h"#include "qdpp.h"#include "video.h"#include "qassert.h"#include <conio.h>#include <stdlib.h>#include <stdio.h>Q_DEFINE_THIS_FILE//............................................................................void OSTimeTickHook(void) { QF::tick();}//............................................................................void OSTaskIdleHook(void) { if (kbhit()) { uint8_t key = (uint8_t)getch(); if (key == 0x1B) { // is this the ESC key? QF::publish(Q_NEW(QEvent, TERMINATE_SIG)); } else { // other key pressed KbdEvt *ke = Q_NEW(KbdEvt, KBD_SIG); ke->key = key; QF::publish(ke); } }}//............................................................................void Q_assert_handler(char const Q_ROM * const Q_ROM_VAR file, int line) { Video::clearRect(0, 24, 80, 25, Video::BGND_RED); Video::printStrAt(0, 24, Video::FGND_WHITE, "ASSERTION FAILED in file:"); Video::printStrAt(26, 24, Video::FGND_YELLOW, file); Video::printStrAt(57, 24, Video::FGND_WHITE, "line:"); Video::printNumAt(62, 24, Video::FGND_YELLOW, line); QF::exit(); // exit and cleanup QF}//............................................................................void displyPhilStat(uint8_t n, char const *stat) { Video::printStrAt(17, 12 + n, Video::FGND_YELLOW, stat);}//............................................................................void displayKey(uint8_t key) { Video::printNumAt(30, 12 + N + 1, Video::FGND_YELLOW, key);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -