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



Teraz jest 19 mar 2026, o 03:23


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 3 ] 
Autor Wiadomość
PostNapisane: 5 sty 2014, o 11:13 
Offline
Nowy

Dołączył(a): 17 lip 2012
Posty: 14
Pomógł: 0

Witam,
w jaki sposób można wysłać pojedyńczy bit przez sprzętowy UART Atmegi? Przeszukałem cały rozdział w nocie o obsłudze UART i nie mogę znaleźć nic ciekawego. Potrzebuję np. wysłać w ramce sygnał startu, nastepnie 8 bitów o poziomie logicznym 1, sygnał stopu lub sygnał startu, nastepnie 4 bity o poziomie logicznym 0, 4 bity o poziomie logicznym 1, sygnał stopu. W ostatnim przykładzie można sobie poradzić wysyłająć Shift In, ale nie o to chodzi. Da się w jakiś prosty sposób napisać funkcję wysyłającą 8 bitową ramkę danych z możliwością decydowania o stanie każdego bitu?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 sty 2014, o 12:25 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27450
Lokalizacja: Szczecin
Pomógł: 1045

lukasz51 napisał(a):
Witam,
w jaki sposób można wysłać pojedyńczy bit przez sprzętowy UART Atmegi? Przeszukałem cały rozdział w nocie o obsłudze UART i nie mogę znaleźć nic ciekawego. Potrzebuję np. wysłać w ramce sygnał startu, nastepnie 8 bitów o poziomie logicznym 1, sygnał stopu lub sygnał startu, nastepnie 4 bity o poziomie logicznym 0, 4 bity o poziomie logicznym 1, sygnał stopu. W ostatnim przykładzie można sobie poradzić wysyłająć Shift In, ale nie o to chodzi. Da się w jakiś prosty sposób napisać funkcję wysyłającą 8 bitową ramkę danych z możliwością decydowania o stanie każdego bitu?


Panie kolego zastanów się dobrze o co ty pytasz ? ;)

no jak można pytać czy da się wysłać 1 bit ?

wysyłasz ramkę 8 bitów ( JEDEN BAJT )

a w niej możesz wysłać - czy to dla ciebie nie jest oczywiste ??? - osiem dowolnych bitów ?

czy ty myślisz może że cała ramka musi się składać albo z samych bitów o wartości = 1 albo o wartości =0 ????

a jak chcesz wysłać np wartość = 16 to co nie można ? (przecież to tylko jeden bit ustawiony na jeden a reszta zero)

No panie kolego wysyłasz co ci się żywnie podoba w ramach jednego bitu ;)

liczby od 0 - do 255

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 sty 2014, o 12:47 
Offline
Nowy

Dołączył(a): 17 lip 2012
Posty: 14
Pomógł: 0

Nie myślę, że ramka składa się z jednego bitu :) Wiem jak wygląda transmisja.
Wysłanie samych 1 potrzebowałem do przesłania 1 na magistrale 1-WIRE podobnie jak w dodatkowej nocie http://www.atmel.com/images/doc2579.pdf Skoro Xmega posiada więcej niż jeden UART to warto go wykorzystać do tej transmisji. Niestety przez głupi błąd (ustawienie nieodpowiedniej prędkośći transmisji na analizatorze logicznym) straciłem niepotrzebnie dużo czasu i zastanawiałem się co robię źle.. Dziwnym trafem wysyłając 255 odczytana ramka nie była prawidłowa. Teraz już wszystko ładnie działa, po odnalezieniu nieprawidłowości. Dziękuję za błyskawiczne udzielenie pomocy i pozdrawiam :)



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

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 0 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