|
просто на одной шине LCD и touch screen. Опрос клавы в прерываниях, вывод на дисплей в фоне. Поставил простейший семафор, но чего-то тут кажись не так. Задачка совершенно детская, но туплю
Код такой.
volatile bool bBusLocked = false;
volatile bool bEnableBusLock = false;void Timer0Interrupt()
{
if (bBusLocked) return;
bEnableBusLock = false;
if (!KeyScanProc()) return;
bEnableBusLock = true;
}
int main ()
{
while (!bEnableBusLock)
; // wait for free lcd/keyboard bus
bBusLocked = true; // hold bus
RefreshLcd();
bBusLocked = false;
Sleep (1); // let interrupts handle keyboard
}
E-mail: info@telesys.ru