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



Teraz jest 20 kwi 2024, o 02:54


Strefa czasowa: UTC + 1





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

Dołączył(a): 27 lut 2013
Posty: 230
Pomógł: 4

Witam gorąco wszystkich forumowiczów!
Na sam początek nie odmówię sobie tej przyjemności i przy okazji że jest to mój pierwszy post na tym forum chciałbym pogratulować i złożyć wyrazy szacunku dla Pana Mirosława za to co stworzył zrobił i w jaki sposób to całą wiedzę przekazuje. Ogromny szacunek i pełen podziw dla Pana dziękuje bo dzięki Panu to sama przyjemność programować i zaczyna to coraz bardziej wciągać :D

No ale do rzeczy.
Jest to mój pierwszy "poważny" program(nie biorąc pod uwagę programów zapalających diodę) który napisałem sam bez pomocy internetu.
Opierając się jedynie na niebieskiej książce i na bazie trzeciego projektu dotyczącego multipleksowaniu LED.

Otóż przerobiłem tylko pętlę "while(1)"
w oryginale z płyty dołączonej do książki program ten odliczał 6000 - 0 i odnowa.
Ja tą część kodu zamknąłem w komentarzu a pod spodem napisał fragment kodu który liczy od 0 - 9999 i od nowa została jeszcze zmieniona względem oryginału linia 38 z unit8_t na unit16_t oraz dodana jedna zmienna b - unit8_t b

reszta kodu jest nie zmieniona i pozostała jak w oryginale.

Prośba do was abyście ocenili moje podejście do tematu czy to co napisałem ma sens jest napisane zgodnie ze sztuką i czy ja przypadkiem nie potrzebnie tego nie skomplikowałem a można to było napisać dużo prościej/łatwiej ;)

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


Pozdrawiam i czekam na wasze uwagi ;)
a zapomniałem dodać najważniejszego program działa i liczy sobie ładnie od 0 - 9999 i odnowa :D



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 4 mar 2013, o 20:15 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 05 sie 2012
Posty: 97
Lokalizacja: Tarnów
Pomógł: 2

Przede wszystkim pisz program i komentarze tak żeby to było jasne dla ciebie i żebyś wracając po tygodniu/miesiącu/roku do twojego programu był w stanie sobie szybko przypomnieć co wtedy pisząc miałeś na myśli.

A druga sprawa, przynajmniej dla mnie, program ma działać i wykonywać to co chcieliśmy, a w jaki sposób jest napisany to już jest nie istotne o ile jest on czytelny dla ciebie. No chyba że pracujesz w grupie programistów i z programu lub jego część którą napisałeś ma się jeszcze ktoś inny wyznać, no to wtedy musisz pisać w określony sposób. Ale to tylko moje zdanie na ten temat.

A co do kodu który zamieściłeś to nie mam jakiś zastrzeżeń, aczkolwiek ja zazwyczaj po if'ie daje instrukcje, nawet jeśli jest jedna w nawias klamrowy, no chyba że jest naprawdę krótka to nie. Po prostu dla mnie wizualnie to lepiej wygląda pomimo że wydłuża kod.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 mar 2013, o 21:08 
Offline
Użytkownik

Dołączył(a): 27 lut 2013
Posty: 230
Pomógł: 4

Dzięki za podpowiedzi i sugestie ;)

co do komentarzy w kodzie to oczywiście już je sobie zamieściłem i sorry że tutaj wrzuciłem bez ;)

a może ktoś robił kiedyś podobny program (licznik) który nawijał do przodu ? prosiłbym aby podzielił się kodem w jaki sposób podszedł do tematu. A w szczególności interesuje mnie w jaki sposób wyciągał z liczb kilku cyfrowych liczbę jedności dziesiątek setek itp. np. z liczby 1234 wyświetlić liczbę 4. Ja zrobiłem to poprzez małe równanie matematyczne ale może jest jakiś inny prostszy sposób ?

Pozdrawiam
Michał



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 mar 2013, o 21:27 
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

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

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 6 mar 2013, o 22:29 
Offline
Użytkownik

Dołączył(a): 27 lut 2013
Posty: 230
Pomógł: 4

No tak Modulo ;D
Faktycznie łatwiej i przejrzyściej to wygląda ;)

może jeszcze jakiś ciekawy pomysł ?
hehe ja to ładnie pojechałem na około no ale działa ;) kwestia pewnie wprawy i zapamiętania wszystkich operatorów i właściwości języka C żeby nie błądzić i nie robić tak na około ;D



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 7 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