Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 7 lut 2025, o 23:52


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 
Autor Wiadomość
PostNapisane: 10 lut 2013, o 10:22 
Offline
Użytkownik

Dołączył(a): 27 lis 2012
Posty: 291
Pomógł: 6

Dotyczy to też TWI_stop, TWI_write i TWI_read.

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Właśnie chodzi mi o komentarz
Cytuj:
Tu "zeruję" TWINT
Dla mnie to brzmi tak - "Ustawiam Twint na 1, czyli ustawiam Twint na 0". To tak jakby "Ten kot jest czarny, czyli biały". Domyślam się, że to jakiś skrót myślowy.
Czy mogę to tak interpretować?
- Przed pierwszą instrukcją TWINT=0
- Pierwsza Instrukcja spowoduje, że TWINT=1. Ale tylko na chwilę! Potem hardware znowu zrobi TWINT=0 i program przejdzie do instrukcji while...
- W while magistrala I2C może być np. zajęta. Gdy będą warunki gotowe do "startu" transmisji (np magistrala I2C będzie wolna) to znowu TWINT=1. Program pójdzie dalej, a hardware spowoduje że znowu TWINT=0. Teraz możemy ponownie skorzystać z tego samego mechanizmu, np. gdy przyjdzie funkcja TWI_write. Podejrzewam, że jest to chwyt podstawowy nie tylko w AVR-ach, ale ogólnie w technice komputerowej . Jeżeli tak, to warto zapamiętać. Albo zapomnieć,jeżeli napisałem głupotę.



Ostatnio edytowano 13 lut 2013, o 18:51 przez mg101, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 lut 2013, o 14:57 
Offline
Użytkownik

Dołączył(a): 04 paź 2011
Posty: 8605
Pomógł: 337

jak już miałes pisane na czacie ustawienie 1 w TWINT powoduje jego wyzerowanie , czyli w przypadku
procesorów Atmela pewien bardzo zły czarodziej twórca implementacji I2C wpadł na pomysł, że 1 = 0

:)

zaiste złosliwy był to leworęczny inwertyk .... bo podobnie mamy w fuse bits gdzie 1 oznacza 0 :)


Autor postu otrzymał pochwałę

_________________
Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 lut 2013, o 18:33 
Offline
Użytkownik

Dołączył(a): 27 lis 2012
Posty: 291
Pomógł: 6

SunRiver napisał(a):
jak już miałes pisane na czacie ustawienie 1 w TWINT powoduje jego wyzerowanie
Czyli zgadza się z moją interpretacją. Tam też po wpisaniu 1 do TWINT'a 1, zaraz z tej wpisanej 1 robi się 0! Dzięki Rzeko Słoneczna. Przyznasz, że ATMEL opisał to dość mętnie.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 10 lut 2013, o 21:21 

Pomógł: 0

Eee tam mętnie, 0 i 1 , czyli Hi Lo, czy stan wysoki, niski to wszystko kwestie umowne. Przecież, nawet prąd płynie nie z + do minusa ;) tylko odwrotnie ;).



Góra
  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 5 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO