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



Teraz jest 7 lut 2025, o 20:23


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 
Autor Wiadomość
PostNapisane: 3 paź 2012, o 16:24 
Offline
Nowy

Dołączył(a): 03 paź 2012
Posty: 14
Pomógł: 0

Witam,
jestem początkującym w C jak dotąd korzystałem z asemblera na '51 i na ST7 jakoś zachciało mi się poznać rodzinę AVR to już sobie pomyślałem żeby pisać programy w C. Zakupiłem książki, programator USBASP (rewelacja!) i na początku utknąłem z problemem.
Chodzi mi o konkretny przykład:

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


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


za pomocą klawiatury matrycowej z powyższego programu jak umieścić znak na wyświetlaczu 2x16 w programie do obsługi wyświetlacza dołączonym do książki lub zapisać go do pamięci np EEPROM w celu późniejszego wykorzystania.

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


Jak to wszystko ogarnąć. W asemblerze to ja wiedziałem jak zrobić. Proszę forumowiczów o pomoc.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 paź 2012, o 16:38 
Offline
Moderator
Avatar użytkownika

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

zakładając że ta obsługa klawiaturki matrycowej działa to:

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


ale ....

ale niech kolega jak najszybciej zmieni te wszystkie unsigned char na uint8_t to po pierwsze

po drugie - wcięcia - wcięcia i jeszcze raz wcięcia w kodzie tej funkcji getkbd() bo tego nie da się czytać :(

po trzecie jeśli już gdzieś będzie kolega używał znaków ASCII i potrzebny będzie typ char to w AVR GCC proponuję zapomnieć o

Kod:
unsigned char


tylko pisać

Kod:
char


dlatego że domyślnie typ char jest za pomocą też domyślnych opcji kompilatora - kompilowany do unsigned char. A usilny nawyk stosowania unsigned char bardzo szybko odbije się poważną czkawką dalej

poza tym własnie jeśli nie znaki ASCII w zmiennych to proszę zapamiętać - stosujemy typu charakterystyczne dla AVR GCC czyli

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


to ważne ....


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: 3 paź 2012, o 21:36 
Offline
Nowy

Dołączył(a): 03 paź 2012
Posty: 14
Pomógł: 0

Działa! :D Popełniłem błąd nie stosując takiego rozkazu:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

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


Czyli trzeba tą funkcję w ten sposób wywołać, chociaż nie do końca wiem dlaczego ale to dopiero początki. Bardzo dziękuję za pomoc.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 3 paź 2012, o 21:47 
Offline
Moderator
Avatar użytkownika

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

wbrew pozorom jak na początkującego to napisałeś niezłą bo NIEBLOKUJĄCĄ funkcję - tą getkbd() ;) o ile już wiesz co to są funkcje nieblokujące i jak duże to ma znaczenie podczas programowania. Ale skoro programowałeś dużo w asm, to być może takie pojęcia są już tobie znane.

_________________
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  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 

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