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



Teraz jest 20 sty 2026, o 20:16


Strefa czasowa: UTC + 1





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

Dołączył(a): 04 cze 2013
Posty: 33
Pomógł: 0

Witam wszystkich,
Programowaniem zajmuje się od niedługiego czasu(będzie jakiś miesiąc), chciałbym się podzielić ze swoim małym programem napisanym w celach edukacyjnych. Ma on za zadanie odczyt czasu z układu PCF8583 i wyświetlić go na wyświetlaczu LCD oraz przez przez RS232. Pisząc program opierałem się na bibliotekach Pana Mirka "lcd44780" i "IC2".
Chciałem spytać Was co można ewentualnie poprawić, uprościć i ogólnie o "kulturę" mojej pracy.

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


Mam nadzieję, że kod jest w miarę zrozumiały
Teraz planuje wprowadzić funkcję wprowadzania aktualnego czasu poprzez przyciski.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 cze 2013, o 16:34 
Offline
Moderator
Avatar użytkownika

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

Aby sobie na przyszłość ułatwiać życie - zdecydowanie powinieneś od razu uczyć się dzielić projekt na pliki, tu masz akurat fajną możliwość bo logiczną grupą funkcji do wydzielenia są te do obsługi UART'a - to jedno

a drugie to ZDECYDOWANIE nie używaj takiego zapisu:

UBRRL = 51;

tylko ustawiaj to za pomocą makra - np zgodnie z tym co na blogu ;)

http://mirekk36.blogspot.com/2013/01/rs ... trick.html


Autor postu otrzymał pochwałę

_________________
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: 4 cze 2013, o 16:43 
Offline
Użytkownik

Dołączył(a): 04 cze 2013
Posty: 33
Pomógł: 0

Postaram się podzielić projekt na pliki.
A jeśli chodzi o zapis UBRRL to za pierwszym podejściem chciałem wykorzystać sposoby z linku powyżej, ale nie udało mi się i postanowiłem sobie ułatwić trochę pracę. Teraz na pewno przeanalizuję ten artykuł jeszcze raz



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 cze 2013, o 16:55 
Offline
Uzytkownik zasłużony dla forum.atnel.pl
Avatar użytkownika

Dołączył(a): 16 lip 2012
Posty: 2088
Lokalizacja: Leżajsk / Kraków
Pomógł: 411

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

Zamiast dwóch znaków końca w postaci 0x0d, 0x0a można prościej napisać nadaj_str("\r\n"); i możesz dodać sobie analogiczną funkcję wysyłającą dane z pamięci programu (flash). Funkcję nadaj_str można znacznie uprościć wiedząc, że łańcuchy znaków są zakończone zerem. Podglądnij sobie kod lcd_str.


Autor postu otrzymał pochwałę

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 5 cze 2013, o 20:07 
Offline
Użytkownik

Dołączył(a): 04 cze 2013
Posty: 33
Pomógł: 0

Poprawiłem kod zgodnie z zaleceniami i wygląda on teraz znacznie lepiej.
Dzięki chłopaki.



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

Strefa czasowa: UTC + 1


Kto przegląda forum

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