Сначала такие валидаторы появились в трамваях PESA Fokstrot, потом на некоторых автобусах. Оплату по картам принимают только новые, плоские валидаторы.
Так что мы приближаемся к будущему, из которого вот этот мужик.
Асфальтовые Петровские линии. Такая же, только что вымытая Петровка. Еще против одного из домов дворник поливает из брандспойта улицы, а два других гонят воду в решетку водосточного колодца.
Огибаем Большой театр и Свердловский сквер по проезду Театральной площади, едем на широкую, прямо-таки языком вылизанную Охотнорядскую площадь. Несутся автомобили, трамваи, катятся толстые автобусы.
Где же Охотный ряд?
Я еду по этой новой-старой Москве, я иду по ней и думаю: господи, отчего ж грустно-то так? Разве вот я мог подумать, что буду скучать по мутному бурлению у киосков при станциях метро, по рекламной пестроте и пошлости, по дурацкому нашему нежданному богатству, которое нам с небес на голову дождём хлынуло, и которое сквозь пальцы всё в бурую московскую землю ушло?
bool IsDeviceReady(void)
{
if(LOW_LEVEL_REGISTER&BIT_READY)
return true;
else
return false;
}
bool TestIfDeviceIsReady(void)
{
while(!IsDeviceReady())
if(Timeout())
return true;
return false;
}
#define DMAxREG (*(struct dma_reg_struct*)(DMA_BASE_ADDRESS+DMA_SPACING*nNumDMA))
//...
void func(void)
{
int nNumDMA=0;
DMAxREG|=BIT_FLAG;
//...
}
#define DMAxREG(X) (*(struct dma_reg_struct*)(DMA_BASE_ADDRESS+DMA_SPACING*(X)))