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