- Код: Выделить всё • Развернуть
int BCDToInteger(byte b)
{
int i;
i = (b&0x0F) + (((b>>4)&0x0F)*10);
return i;
}
byte IntegerToBCD(int i)
{
byte b;
b=i/10; b<<=4;
i=i-(i/10)*10; b+=i;
return b;
}
Может кому пригодится
Технический форум по робототехнике.
int BCDToInteger(byte b)
{
int i;
i = (b&0x0F) + (((b>>4)&0x0F)*10);
return i;
}
byte IntegerToBCD(int i)
{
byte b;
b=i/10; b<<=4;
i=i-(i/10)*10; b+=i;
return b;
}
Angel71 писал(а):ээээээээ, а чего только с таймеров? вы инет до этого на тему аквакомпьютеров вообще шерстили? на всевозможных аквафорумах проекты неоднократно попадались и таки весьма функциональные железки в итоге получались у людей. но имхо всё-равно простенькие. как по мне намного функциональней и не сильно дороже подобная автоматика получается на платах, начиная с уровня mini2440. нормальный экран (в сравнении с символьным), тач, много памяти, возможность писать код в среде с более богатыми готовыми библиотеками + еще много всяких плюшек.
voide()
{
if (co2on[2]==1)
{
////что нибудь делаем
}
if ((co2on[0]==rtc[2])&&(co2on[1]==rtc[1]))
{
co2on[2]=1;//флаг включено выключено
}
if ((co2off[0]==rtc[2])&&(co2off[1]==rtc[1]))
{
co2on[2]=0;
}
Angel71 писал(а):2HarryStar, это общепринятый подход. всё остальное упрощение, оптимизация или просто изврат