onewire_get_rom.c

/**
 
 * program do odczytu numeru ROM urządzenia OneWire
 * w tym celu pojedyńcze urządzenie podłączyć do komputera PC
 * (w obecnej konfiguracji linia danych do pinu 16 portu LPT,
 * należy też podłączyć masę, zasilania nie trzeba podłączać)
**/


/*  */

#include <stdio.h>
#include <sys/io.h>

#define bool char

#define cli() asm("cli")
#define sti() asm("sti")


long long czas() { asm( "rdtsc" ); }
void _delay_us( long long l ) {
  l = l * 3012 + czas(); // prędkość procesora w MHz
  while( l > czas() );
}
#define _delay_ms(a) _delay_us( 1000*(a) )


#define onewire_send_zero()   outb(0x00, 0x37a)
#define onewire_send_jeden()  outb(0x04, 0x37a)
#define onewire_read()        (inb(0x37a) & 0x04) >> 2

#include "onewire.c"

main(){
  iopl (3);
  
  unsigned char i, c;
  onewire_reset();
  onewire_byte(0x33);
  
  printf("const char rom[8] = {");
  for ( i = 0; i < 8 ; ++i ) {
    c = onewire_reply();
    printf("0x%02x", c);
    if (i<7) printf(", ");
  }
  printf("};\n");
}

XHTML generated by highlight (http://www.andre-simon.de/) from onewire_get_rom.c



Copyright (c) 1999-2015, Robert Paciorek (http://www.opcode.eu.org/), BSD/MIT-type license


Redystrybucja wersji źródłowych i wynikowych, po lub bez dokonywania modyfikacji JEST DOZWOLONA, pod warunkiem zachowania niniejszej informacji o prawach autorskich. Autor NIE ponosi JAKIEJKOLWIEK odpowiedzialności za skutki użytkowania tego dokumentu/programu oraz za wykorzystanie zawartych tu informacji.

This text/program is free document/software. Redistribution and use in source and binary forms, with or without modification, ARE PERMITTED provided save this copyright notice. This document/program is distributed WITHOUT any warranty, use at YOUR own risk.

Valid XHTML 1.1 Dokument ten (URL: http://www.opcode.eu.org/inne/other_projects/sterownik_ogrzewania/onewire_get_rom.c) należy do serwisu OpCode. Autorem tej strony jest Robert Paciorek, wszelkie uwagi proszę kierować na adres e-mail serwisu: webmaster@opcode.eu.org.
Data ostatniej modyfikacji artykulu: '2014-01-07 19:27:43 (UTC)' (data ta może być zafałszowana niemerytorycznymi modyfikacjami artykułu).