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



Teraz jest 3 sty 2025, o 01:30


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 3 ] 
Autor Wiadomość
PostNapisane: 7 kwi 2014, o 22:47 
Offline
Nowy

Dołączył(a): 25 lut 2014
Posty: 9
Lokalizacja: Dąbrowa Górnicza
Pomógł: 0

Wita wszystkich początkujący w C. Napisałem swój pierwszy program,działający (o dziwo) na atmega32 i LCD 2x16.Proszę kogoś znającego się bardziej na rzeczy ode mnie żeby pomógł.
Program ma za zadanie sterować szerokością impulsu w trybie ręcznym i w trybie automatycznym,całość obsługiwana encoderem, element wykonawczy to dioda led i ma się dokonywać zmiana jasności świecenia.Wybór trybów dokonywany w menu na wyświetlaczu LCD.W jaki sposób mogę przerobić kod żeby był bardziej profesjonalny,czytelny i żeby nie był takim długim tasiemcem?
A druga sprawa chciałbym dodać w wyborze w menu ustawianie częstotliwości.Zrobiłem 2 tryby różnej f ,jeden na częstotliwości 100Hz ,a drugi na 1kHz,ale chciałbym żeby regulacja częstotliwości była regulowana w menu w większym zakresie.Tylko nie mam żadnej wizji jak to wykonać.Myślałem o tym żeby przerobić cały kod programu i żeby napisać kod na pwm sprzętowy,a regulacje częstotliwości zrobić na dwóch dodatkowych microswitch-ach.Jeden z nich zmniejszałby zawartość rejestru OCR0 a drugi zwiększałby jego zawartość.Wszelkie wskazówki mile widziane.

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: 7 kwi 2014, o 23:41 
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

Nieźle ponad 1000 linii kodu, ale dużo się powtarza i jak to pogrupujesz w funkcje to się bardzo skurczy:
1) twój kod
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

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

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


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

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

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

Można też próbować przekazać same czasy i w funkcji tworzyć napisy z otrzymanych liczb. Możliwe jest cały switch(wynik) zastąpić przez wyswietl(wynik); potrzeba tylko odpowiednią funkcję zrobić.

_________________
Dragonus Cracovus: Biomagia



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 8 kwi 2014, o 12:08 
Offline
Nowy

Dołączył(a): 25 lut 2014
Posty: 9
Lokalizacja: Dąbrowa Górnicza
Pomógł: 0

Pojde tym tropem i pozmieniam w ten sposob,za jakis czas dam znac jak to wszystko wyszlo.Dzieki



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