Google+ Start   |   E-mail   |   Newsletter:

i2c_twi_lib_stop_error

Uwaga, do biblioteki TWI (I2C) w wersji sprzętowej wkradł się dosyć istotny błąd. Niestety w kodzie w książce i na DVD w każdej bibliotece został on powielony. Chodzi o funkcję TWI_stop().

Błędna wersja funkcji:
void TWI_stop(void) {
      TWCR = (1<<TWINT)|(1<<TWEN)|(1<<TWSTO);
      while ( !(TWCR&(1<<TWSTO)) ); // <---- w tej linii niepotrzebnie jest zastosowana negacja !
}

 

Poprawna wersja funkcji
void TWI_stop(void) {
      TWCR = (1<<TWINT)|(1<<TWEN)|(1<<TWSTO);
      while ( (TWCR&(1<<TWSTO)) );  // <---- w tej linii usunięto negację !
}

 

 

ikona Strona główna ikona O nas ikona Wydawnictwo ikona Elektronika ikona Oprogramowanie ikona Kursy ATNEL ikona Nowości ikona SKLEP ikona FORUM ikona Kontakt ikona Polityka Prywatności Cookie

ATNEL Nowoczesne Rozwiązania - programowanie AVR w C | pisanie programów dla AVR | pisanie programów ATmega | pisanie programów dla AVR | programowanie mikrokontrolerów |
mikrokontrolery AVR programowanie | programowanie w C mikrokontrolerów | programowanie ATmega | programy w C AVR
Realizacja: Dpl Agency - Projektowanie Stron Internetowych