OT odcitanie v C
Jan Waclawek
konfera na efton.sk
Čtvrtek Duben 24 10:14:12 CEST 2014
Aky je vysledok?
#include <stdint.h>
volatile uint32_t l;
volatile uint16_t h;
volatile uint8_t result;
int main(void) {
l = 0x00000002;
h = 0xFFFE;
result = 0;
if (l - h < 3) result |= 1;
if ( ((uint16_t)l - h) < 3 ) result |= 2;
if ( (uint16_t)(l - h) < 3 ) result |= 4;
if ( (uint16_t)((uint16_t)l - h) < 3 ) result |= 8;
if (l - h < 10) result |= 16;
if ( ((uint16_t)l - h) < 10 ) result |= 32;
if ( (uint16_t)(l - h) < 10 ) result |= 64;
if ( (uint16_t)((uint16_t)l - h) < 10 ) result |= 128;
while(1) {
};
}
Aplikacia: mam 32-bitovy volne beziaci casovac (l), a potrebujem odmerat
nejaky kratky cas, menej ako 65535 tikov (do h si odlozim hodnotu na
zaciatku odmeriavania).
wek
Další informace o konferenci Hw-list