Задача:
- мигать диодом
Код
#include <reg166.h> // special function registers 80C166
#include <rtx166t.h> // RTX-166 tiny functions & defines
#define BLINKING 0 // task number of task: blinking
sbit vd = P2^1; // I/O Pin: vd lamp output
/******************************************************************************/
// Task 0 'blinking'
/******************************************************************************/
void blinking (void) _task_ BLINKING { // blink vd
DP2 = 0xFFFF; // data direction register
vd = 0; // all lights off
while (1) { // endless loop
vd = 1; // vd light on
os_wait (K_TMO, 300, 0); // wait for timeout: 300 ticks
vd = 0; // vd light off
os_wait (K_TMO, 300, 0); // wait for timeout: 300 ticks
}
}
#include <rtx166t.h> // RTX-166 tiny functions & defines
#define BLINKING 0 // task number of task: blinking
sbit vd = P2^1; // I/O Pin: vd lamp output
/******************************************************************************/
// Task 0 'blinking'
/******************************************************************************/
void blinking (void) _task_ BLINKING { // blink vd
DP2 = 0xFFFF; // data direction register
vd = 0; // all lights off
while (1) { // endless loop
vd = 1; // vd light on
os_wait (K_TMO, 300, 0); // wait for timeout: 300 ticks
vd = 0; // vd light off
os_wait (K_TMO, 300, 0); // wait for timeout: 300 ticks
}
}
Причём:
- в дебагере работает, а на железе - нет
- сам hex-файл загружается нормально.
То что грузиться нормально, проверил так:
- сначала загрузил этот код:
Код
#include <reg166.h> // special function registers 80C166
#include <rtx166t.h> // RTX-166 tiny functions & defines
#define BLINKING 0 // task number of task: blinking
sbit vd = P2^1; // I/O Pin: vd lamp output
/******************************************************************************/
// Task 0 'blinking'
/******************************************************************************/
void blinking (void) _task_ BLINKING { // blink vd
DP2 = 0xFFFF; // data direction register
vd = 0; // all lights off
while (1) { // endless loop
}
}
#include <rtx166t.h> // RTX-166 tiny functions & defines
#define BLINKING 0 // task number of task: blinking
sbit vd = P2^1; // I/O Pin: vd lamp output
/******************************************************************************/
// Task 0 'blinking'
/******************************************************************************/
void blinking (void) _task_ BLINKING { // blink vd
DP2 = 0xFFFF; // data direction register
vd = 0; // all lights off
while (1) { // endless loop
}
}
Диод не загорелся.
- потом загрузил этот код:
Код
#include <reg166.h> // special function registers 80C166
#include <rtx166t.h> // RTX-166 tiny functions & defines
#define BLINKING 0 // task number of task: blinking
sbit vd = P2^1; // I/O Pin: vd lamp output
/******************************************************************************/
// Task 0 'blinking'
/******************************************************************************/
void blinking (void) _task_ BLINKING { // blink vd
DP2 = 0xFFFF; // data direction register
vd = 1; // vd light on
while (1) { // endless loop
}
}
#include <rtx166t.h> // RTX-166 tiny functions & defines
#define BLINKING 0 // task number of task: blinking
sbit vd = P2^1; // I/O Pin: vd lamp output
/******************************************************************************/
// Task 0 'blinking'
/******************************************************************************/
void blinking (void) _task_ BLINKING { // blink vd
DP2 = 0xFFFF; // data direction register
vd = 1; // vd light on
while (1) { // endless loop
}
}
Диод загорелся.
А мигать не получается
Использовал Startup по умолчанию.