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



Teraz jest 10 mar 2025, o 10:25


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 12 ] 
Autor Wiadomość
PostNapisane: 17 mar 2017, o 00:48 
Offline
Użytkownik

Dołączył(a): 17 mar 2017
Posty: 30
Pomógł: 0

Na podstawie książki Pana M. Kardaś i DS'a skleiłem poniższy kod.
Problem jest taki, że zamiast znaku 'a' wyświetlają mi się "krzaki" w terminalu.

Cytuj:
#define F_CPU 8000000UL <--- TEGO NIGDY NIE WPISUJE SIĘ W KODZIE


[ ani też nigdy szanowny kolega nie mógł znaleźć czegoś takiego w żadnej mojej książce albo poradniku wideo ... - mirekk36 ]

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 mar 2017, o 03:28 
Offline
Użytkownik

Dołączył(a): 24 lis 2015
Posty: 36
Lokalizacja: Zakrzewko
Pomógł: 3

Po pierwsze usunąłbym makro F_CPU w funkcji UART_Transmin zmieniłbym typ argumentu na char,jeśli dobrze pamiętam to Twoja funkcja do wysyłania znaku obsługuje ramkę 9 bitowa (sprawdź w pdf) a najlepiej przepisz funkcje z BB str. 276, i tak samo do inicjalizacji bo chyba tez źle przepisane i wywołuje ja ze złym parametrem, bo podajesz Tam prędkość transmisji a.nie wartosc rejestru UBRR



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 mar 2017, o 07:50 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 16 mar 2014
Posty: 745
Lokalizacja: Warszawa
Pomógł: 32

Coś tu kolega nieźle czaruje bo zaprezentowany kod to nie ma nic wspólnego z BlueBookiem czy GreenBookiem i w ogóle bibliotekami Mirka.
Jakbyś miał książkę to nic nie trzeba "sklejać" tylko ładnie wykorzystuje się gotowe biblioteki jak klocki Lego.

_________________
.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 mar 2017, o 12:05 
Offline
Użytkownik

Dołączył(a): 17 mar 2017
Posty: 30
Pomógł: 0

Teraz zrobiłem identycznie jak w książce.
Dalej wyświetla krzaki.
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Obrazek



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 mar 2017, o 12:29 
Offline
Użytkownik

Dołączył(a): 06 lut 2014
Posty: 54
Lokalizacja: Śląsk
Pomógł: 4

Skopiowałem Twój plik i odpaliłem u siebie , wszystko działa linijka po linijce leci 'a'.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 mar 2017, o 12:32 
Online
Moderator
Avatar użytkownika

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

filipbaza napisał(a):
Teraz zrobiłem identycznie jak w książce.
Dalej wyświetla krzaki.

Nadal nie zrobiłeś tak jak w książce skoro nie działa (tzn jeśli chodzi o kod to już jest lepiej) ;) a w książce opisuję dlaczego ci nie działa i jak sobie to sprawdzić ... pewnie tego też nie czytałeś?

ale podpowiem. pewnie masz procka taktowanego nie taką częstotliwością jak trzeba, a sądzę tak po tym, że próbowałeś wpisywać F_CPU w kodzie programu - bo pewnie wydaje ci się, że tak się zmienia taktowanie - tymczasem jest coś takiego jak fusebity w procku, zmieniałeś je ?

------------------------ [ Dodano po: 5 minutach ]

poza tym jaką ty masz przejściówkę USB/RS232 ? a może się zaraz okaże że masz przejściówkę działającą w standardzie napięciowym RS232 a ty sobie podłączasz nogi procka w standardzie TTL ...

_________________
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: 17 mar 2017, o 12:48 
Offline
Użytkownik

Dołączył(a): 17 mar 2017
Posty: 30
Pomógł: 0

Czytałem cały rozdział o UART.
Próbowałem też tej kalibracji ale nic się nie zmieniło (spróbuję jeszcze raz...)
Fusebitów nie zmieniałem. F_CPU jest definiowane w makefile na 8 MHz (program pisany w Programmer's Notepad).
Przejściówka jest taka:
http://allegro.pl/konwerter-usb-rs232-c ... ule_id=201



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 mar 2017, o 12:55 
Offline
Użytkownik

Dołączył(a): 06 lut 2014
Posty: 54
Lokalizacja: Śląsk
Pomógł: 4

Jeśli jest to nowy procek to fusebity są ustawione na 1Mhz


Autor postu otrzymał pochwałę


Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 mar 2017, o 12:59 
Offline
Użytkownik

Dołączył(a): 17 mar 2017
Posty: 30
Pomógł: 0

Zmieniłem w makefile na 1 MHz. Teraz wyświetla się 'a'.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 mar 2017, o 13:22 
Online
Moderator
Avatar użytkownika

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

filipbaza napisał(a):
(program pisany w Programmer's Notepad).


No panie, to trzeba być masochistą ;) ... masz Eclipsa a ty w notatniku ? ;) o żesz .... że też jeszcze są tacy ludzie co to lubią sobie ból programistyczny zadawać ;)

_________________
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: 17 mar 2017, o 15:23 
Offline
Użytkownik

Dołączył(a): 25 lis 2011
Posty: 232
Lokalizacja: Pisz
Pomógł: 2

filipbaza napisał(a):
Zmieniłem w makefile na 1 MHz. Teraz wyświetla się 'a'.


No to problem masz rozwiązany, częstotliwość taktowania w programie była niezgodna z tą ustawioną w fusach. :)

Dobierz sobie częstotliwość bardziej przyjazną USARTowi zwracając uwagę na ilość błędów według tabelek poniżej.
Pozdrawiam
Rafciu

ObrazekObrazekObrazek



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 17 mar 2017, o 17:48 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 16 mar 2014
Posty: 745
Lokalizacja: Warszawa
Pomógł: 32

Myślę, że kolega powinien sobie przerobić podstawowe poradniki Pana Mirka typu "Jak zacząć".
Na prawdę wiele Ci się spraw od razu wyjaśni i zaoszczędzisz mnóstwo czasu przy kolejnych niepowodzeniach, które mogą się pojawić.

Co do przejściówki nie chcę być złośliwy i nie mówię, że jakaś mega zła, ale kolega zainwestował... że łojejku :D
Pewnie nawet sam chip CH340, który w sumie jest ok, to pewnie nawet nie oryginał przy tej cenie tylko podróbka.
Warto mieć tak poza wszystkim chociaż jeden porządny sprzęt na oryginalnym FT232.

_________________
.



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

Strefa czasowa: UTC + 1


Kto przegląda forum

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