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



Teraz jest 15 mar 2025, o 15:39


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 
Autor Wiadomość
PostNapisane: 7 sie 2015, o 09:14 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 31 sie 2013
Posty: 10
Lokalizacja: Dębica
Pomógł: 1

Witam, potrzebuje dosłownie przerobić program języka C - PC na język C do atmegi. Program bardzo prosty do realizacji na PC ale mam sporo problemów przy implementacji na atmedze.

O co chodzi?
Jak wiemy wyszukiwanie czujników DS18B20 oparte jest o algorytm przeszukiwania drzewa. Kolejność ich jest ściśle powiązana z ich ID (więcej info na 187 str. notesu maxima). Chce mieć możliwość ustawienia czujników jak mi pasuje i zapisania tej kolejności do EEPROMu.

Algorytm do ustawiania napisałem w C na PC żeby szybko to przetestować i tam spoko działa ale zaraz w komputerze mamy klawiaturę, ekran, klawisz potwierdzenia itd....

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


Z czym problem?
Mam problem z napisaniem obsługi do wprowadzania wartości zmiennych;
do dyspozycji mam przyciski ESC, LEFT, RIGHT, UP, DOWN, ENT, wyświetlacz LCD4x16
Wprowadzanie wartości do proca ma się odbywać przyciskami i podgląd na wyświetlaczu.

Co dokładnie potrzeba?
Wprowadzić ciąg 6 cyfr których wartości zmieniają się od 0 do 5. (ograniczenie zakresu - modulo 6)
Zapisać do tablicy pomocniczej jak to jest realizowane w programie na PC.
Sprawdzanie czy klawisz jest wciśnięty robię if(ESC) ..... itd.
Próbowałem trochę instrukcją switch, nie wiem jak zatrzymać program bo jak kliknę klawisz to mi leci dalej i wykonuje się program główny.

Proszę o podpowiedź (jakiś przykład) jak zrealizować wprowadzanie 6 wartości i zapisanie ich do tablicy pomocniczej bez wyświetlania (to jest oczywiste ze trzeba dorobić) program może być nawet w pseudokodzie.
Pozdrawiam liczę na wszą pomoc.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 sie 2015, o 10:04 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 paź 2013
Posty: 1967
Lokalizacja: Lipsko
Pomógł: 125

Nie dam Ci gotowego rozwiązania, ale małą wskazówkę. Zrób licznik pozycji kursora na LCD i każda pozycja to (licząc od prawej) x1, x10, x100,... itd. Do ustawiania wartości wystarczy 4 przyciski lewo prawo zwiększ zmniejsz. Takie rozwiązanie stosuję w swoich programach i jest mega proste i wygodne, a przy tym błyskawicznie zmieniasz wartość nawet olbrzymiej zmiennej.

_________________
http://www.sylwekkuna.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 sie 2015, o 11:51 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 22 paź 2013
Posty: 1967
Lokalizacja: Lipsko
Pomógł: 125

Przypomniało mi się, że mam filmik z działania tego o czym mówiłem.

_________________
http://www.sylwekkuna.com



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 7 sie 2015, o 13:11 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 31 sie 2013
Posty: 10
Lokalizacja: Dębica
Pomógł: 1

Wizualnie o to mi chodzi popróbuje jeszcze może uda mi się coś zakodować. ew. wkleję moje wypociny.



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