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



Teraz jest 24 mar 2026, o 10:35


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 15 ] 
Autor Wiadomość
PostNapisane: 16 lis 2014, o 10:15 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 08 lis 2014
Posty: 23
Lokalizacja: Bieruń,Tychy,Bytom
Pomógł: 0

Witam Serdecznie !!!
Mam pytanie jak zmienić piny RX TX (PD0, PD1) w atmega168 programowo na inne na przykład PC0 - RX , PC1 - TX.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 lis 2014, o 11:03 
Offline
Moderator
Avatar użytkownika

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

t_jacek napisał(a):
Witam Serdecznie !!!
Mam pytanie jak zmienić piny RX TX (PD0, PD1) w atmega168 programowo na inne na przykład PC0 - RX , PC1 - TX.


Ciekawe o co tobie chodzi ? czy o programową obsługą RS232 ? ... a jeśli tak? to robisz sobie RX TX tam gdzie ci się żywnie podoba. Czy chodzi ci o sprzętową obsługę RS232 ... ? bo wtedy to zapomnij pan o zamianie pinów ;) to nie procki w których można przemapować sprzętowe piny tzn ich funkcjonalności.

_________________
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: 16 lis 2014, o 11:03 
Offline
Użytkownik

Dołączył(a): 24 sty 2012
Posty: 1469
Pomógł: 56

ATmega 168 ma tylko jeden sprzętowy USART i jest on właśnie obsługiwany przez piny
PD0 i PD1 Dlatego jeżeli chcesz używać sprzętowego USART'a nie możesz go podłączyć
pod inne piny.
No chyba że chcesz sobie to zorganizować programowo ;-)

_________________
Jestem początkujący i moje porady mogą być błędne



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 lis 2014, o 11:04 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 13 cze 2013
Posty: 39
Pomógł: 2

Zmienić przypisanie pinów procka w pliku nagłówkowym (lub po prostu w miejscu gdzie następuje inicjalizacja pinów RX TX) na odpowiednie piny. Wszystko zależy z jakich plików korzystasz (z bluebooka czy innych źródeł). Tak czy siak trzeba to zrobić jak napisałem wyżej.

_________________
:)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 lis 2014, o 11:15 
Offline
Użytkownik

Dołączył(a): 24 sty 2012
Posty: 1469
Pomógł: 56

elektor18 napisał(a):
Zmienić przypisanie pinów procka w pliku nagłówkowym (lub po prostu w miejscu gdzie następuje inicjalizacja pinów RX TX) na odpowiednie piny. Wszystko zależy z jakich plików korzystasz (z bluebooka czy innych źródeł). Tak czy siak trzeba to zrobić jak napisałem wyżej.

Z całą pewnością tak jak napisałeś wyżej nie uda się tego zrobić ;-)
No chyba, że chcesz sobie zrobić programową obsługę USART'a
To jednak nie jest takie proste... No i po co skoro mamy moduł sprzętowy?

_________________
Jestem początkujący i moje porady mogą być błędne



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 lis 2014, o 12:01 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 13 cze 2013
Posty: 39
Pomógł: 2

Przecież kolega w pierszym posie napisał

Cytuj:
...
Mam pytanie jak zmienić piny RX TX (PD0, PD1) w atmega168 programowo na inne na przykład PC0 - RX , PC1 - TX.


MirkoT napisał(a):
elektor18 napisał(a):
Zmienić przypisanie pinów procka w pliku nagłówkowym (lub po prostu w miejscu gdzie następuje inicjalizacja pinów RX TX) na odpowiednie piny. Wszystko zależy z jakich plików korzystasz (z bluebooka czy innych źródeł). Tak czy siak trzeba to zrobić jak napisałem wyżej.

Z całą pewnością tak jak napisałeś wyżej nie uda się tego zrobić ;-)
No chyba, że chcesz sobie zrobić programową obsługę USART'a
To jednak nie jest takie proste... No i po co skoro mamy moduł sprzętowy?


...programowo, więc jak z wg. Ciebie z pewnością nie da się tego zrobić?

_________________
:)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 lis 2014, o 12:21 
Offline
Użytkownik

Dołączył(a): 24 sty 2012
Posty: 1469
Pomógł: 56

A tak, że sprzętowy moduł USART w ATMega 168 jest >fizycznie< podłączony pod określone
piny procesora. I programowo nie da się ich przemapować.
Tak jak da się to zrobić np. w ARM.
No i kolega nie pisał, że chce sobie zrobić programowego USART'a a tylko programowo podmienić piny.

_________________
Jestem początkujący i moje porady mogą być błędne



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 lis 2014, o 12:55 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 13 cze 2013
Posty: 39
Pomógł: 2

Tak, mój błąd, przyznaje się. Inaczej to zinterpretowałem.

_________________
:)



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 lis 2014, o 13:00 
Offline
Użytkownik

Dołączył(a): 24 sty 2012
Posty: 1469
Pomógł: 56

elektor18 napisał(a):
Tak, mój błąd, przyznaje się. Inaczej to zinterpretowałem.

Niekoniecznie ;-)
Bo widzisz tak jest jak ktoś nieprecyzyjnie zada pytanie ;-)
To właśnie Ty możesz mieć rację i to wie tylko autor pytania.
Wszyscy czytamy a każdy ciut inaczej to widzi...

_________________
Jestem początkujący i moje porady mogą być błędne



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 lis 2014, o 13:56 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 08 lis 2014
Posty: 23
Lokalizacja: Bieruń,Tychy,Bytom
Pomógł: 0

Oj, ale zrobiłem zamieszanie, przepraszam ;)
Chodzi mi o to że cały PORTD mam zajęty i nie wiem jak przesłać informacje dalej do następnego urządzenia po RS232, a wiem że RX TX to pierwsze 2 piny PORTD. Mam tylko wolny PORTC i zastanawiam się czy jest możliwość żeby programowo przypisać że PC0 to RX a PC1 to TX. Ale po przeczytaniu odpowiedzi widzę że to nie będzie proste ;( a może nawet niemożliwe.
Ja dopiero zaczynam z C , mam BLUEBOOK i GREENBOOK ale nie widziałem tam żeby była taka możliwość przepisania programowego dlatego zadałem to trochę głupie pytanie, czy to wykonalne ?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 lis 2014, o 14:12 
Offline
Użytkownik

Dołączył(a): 24 sty 2012
Posty: 1469
Pomógł: 56

To może to co masz na porcie D przerzuć na port C?

_________________
Jestem początkujący i moje porady mogą być błędne



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 lis 2014, o 14:18 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 28 maja 2012
Posty: 471
Lokalizacja: ZGY/ZS
Pomógł: 30

Tak jak koledzy wyżej pisali takie rzeczy tylko w erze, tzn w ARMie ;) a może do komunikacji zamiast UARTA wykorzystać I2C? Z drugiej strony może bardziej będzie się opłacało jednak przenieść te dwa piny na inny port tak żeby zwolnić uarta. Cokolwiek tam masz podpięte i jeśli nie wykorzystujesz sprzętowych funkcji przypisanych właśnie do tych pinów to można to rozwiązać programowo z wykorzystaniem innych pinów.

_________________
eDiyCraft.blogspot.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 lis 2014, o 15:34 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 08 lis 2014
Posty: 23
Lokalizacja: Bieruń,Tychy,Bytom
Pomógł: 0

Nie da rady przenieść z D na C bo w przerwaniu na int0 odczytuje cały PIND i to dosyć często co 4us, ale pomyślę nad i2c.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 lis 2014, o 16:51 
Offline
Użytkownik

Dołączył(a): 24 sty 2012
Posty: 1469
Pomógł: 56

Na porcie C który masz wolny masz przerwanie PCINT, które też możesz wykorzystać...
No ale to już sam musisz sobie odpowiedzieć co będzie dla Ciebie prostsze

_________________
Jestem początkujący i moje porady mogą być błędne



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 lis 2014, o 17:08 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 08 lis 2014
Posty: 23
Lokalizacja: Bieruń,Tychy,Bytom
Pomógł: 0

Tak wiem ale PIND to jedyny który mam dostępny w całości (8 bitów) , PC jest tylko 6 i 7 reset PB 8 z tego 2 na kwarc i musiał bym się przesiadać na coś większego jak ATmega32, ale na PC jest i2c (SCL SDA), chociaż możliwe że zmienię procek na większą ilość portów.



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: 15 ] 

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:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO