Сб сен 09, 2017 17:50:00
Чт сен 14, 2017 09:55:57
epoch = unixtime + (3600ul * (timezone + (flag.dst ? 1u : 0u)));
main.c:421: warning: (373) implicit signed to unsigned conversion
Чт сен 14, 2017 10:24:38
volatile unsigned long epoch=0, unixtime=0;
volatile signed long timezone=0;
struct{
unsigned dst:1;
}flag;
void main(void){
flag.dst=1;
epoch = unixtime + (3600ul * (timezone + (flag.dst ? 1u : 0u)));
while(1){}
}
epoch = (signed long)unixtime + (3600L * (timezone + (flag.dst ? 1u : 0u)));
Чт сен 14, 2017 10:50:07
Чт сен 14, 2017 10:55:52
Чт сен 14, 2017 15:14:23
volatile signed long timezone=0;
...
epoch = unixtime + (3600ul * (timezone + (flag.dst ? 1u : 0u)));
Чт сен 14, 2017 17:24:26
Чт сен 14, 2017 20:35:28
Пт сен 29, 2017 12:25:01
Ср окт 11, 2017 01:21:01
uint16_t data = 0012;
char tmp [4];
sprintf(tmp, "%u", data );
Ср окт 11, 2017 01:32:32
Ср окт 11, 2017 07:48:14
case 1:
if (flag==0){
PORTB &=~(1<<PB1);
if (tic>=Timer1){flag++; tic= 0;}
}
else {
PORTB |= (1<<PB1);
if (tic>=Timer2){tic = 0; flag=0;}
}
break;
case 2:
if (flag==0){
PORTB |= (1<<PB1);
if (tic>=Timer1){flag++; tic= 0;}
}
else {
PORTB &=~(1<<PB1);
if (tic>=Timer2){tic = 0; flag=0;}
}
break;
Ср окт 11, 2017 08:12:32
char tmp;
switch(???){
case 1: tmp = flag; break;
case 2: tmp = !flag; break;
}
if (tmp==0){
PORTB &=~(1<<PB1);
if (tic>=Timer1){flag++; tic= 0;}
} else {
PORTB |= (1<<PB1);
if (tic>=Timer2){tic = 0; flag=0;}
}
Ср окт 11, 2017 09:04:29
uint16_t data = 0012;
char tmp [4];
sprintf(tmp, "%u", data );
Чт окт 26, 2017 14:33:16
Чт окт 26, 2017 14:38:36
не берите в голову, если это не про макросы сказано. ничем оно не лучше и не хуже.Пока_без_кота писал(а):По возможности используйте do { } while(выражение)
Чт окт 26, 2017 14:45:30
Чт окт 26, 2017 21:45:59
Нигде не могу найти объяснение, чем оно лучше while(выражение) { }.
Пт окт 27, 2017 06:49:51
в общем случае - это рядом со сферическим конём в вакууме? в общем случае как раз наоборот, между всеми вариантами циклов while, for и do нет никакой разницы, а вот в частных случаях она может появляться.smalcom писал(а):в общем случае "while(){}" использует дополнительную команду перехода
Пт окт 27, 2017 08:35:52
do
<body>
while(<e1>)
L1:
<body>
if( <e1> ) goto L1
while( <e1> )
{
<body>
}
goto Ltest;
L1:
<body>
Ltest:
if( <e1> ) goto L1
for(<e2>; <e1>; <e3> )
{
<body>
}
<e2>
goto Ltest;
L1:
<body>
<e3>
Ltest:
if( <e1> ) goto L1