Witam, ponieważ jestem można powiedzieć, że laikiem w temacie programowania Avr-ów w C, to mam taki problem z którym nie mogę sobie poradzić (a kombinowałem na różne sposoby), mianowicie:
Konstruuje sobie sterownik LCD2USB wstępnie na płytce stykowej i on działa. Skonstruowany jest według schematu z tej strony. Na schemacie są oczywiście przyciski, które nie są mi potrzebne i wyprowadzenia do programowania układu, jak również dwie wersje złącz do podłączenia wyświetlacza - mi jest tylko potrzebne złącze na wyświetlacz 1x16pin, złącza do programowania nie przewiduję, także nóżki Atmegi8 PB3,PB4,PB5,PB0 pozostają wolne do wykorzystania.
I teraz potrzebuję jeszcze układ do HTPC który by załączał komputer na pilota. Pomysł zaczerpnąłem stąd. Układ zmontowany Atiny13 działa jak należy, natomiast chciałbym jego funkcje przenieść z racji niewykorzystanych pinów do Atmegi8. Sam wsad z tego włącznika dla pilotów Sony po małych modyfikacjach i dopasowaniu do wolnych wyprowadzeń Atmegi działa. Natomiast nie mogę połączyć działania LCD2USB w jednym pliku/układzie. Wiele kombinowałem, i wykoncypowałem sobie, żeby zrobić to na zasadzie: jest napięcie na wtyczce USB (wejście PB0) - układ działa jak LCD2USB, wyświetlacz świeci / nie ma napięcia na USB - układ realizuje funkcję włącznika (w obu przypadkach sam mikrokontroler jest zasilany z wtyczki ATX i tamtejszych 5v, płyta odcina 5v po wyłączeniu kompa, tak żeby wyświetlacz wtedy się wyłączał).
I tu pojawia się problem bo nie wiem jak to wszystko ładnie w C napisać, żeby to działało tak jak opisałem. Chodzi o to żeby ten kod LCD2USB:
z kodem włącznika odczytującego sygnały z pilota Sony (proszę nie zwracać uwagę na sposób realizacji jego funkcji, ważne, że działa
)
Jeśli dobrze rozumuję, to wystarczy to zrobić na zasadzie pętli, która by sprawdzała stan wejścia PB0 (pojawiające się przy włączeniu komputera napięcie), ale ja już różnie kombinowałem (wejścia/wyjścia wydaje mi się że dobrze wpisałem, define, include pododawałem, wspólne zostawiłem) głównie w tej pętli for(;
z oryginału LCD2USB i za bardzo to nie chciało przełączać swego działania tak jak myślałem.
Także jak ktoś z Was chciałby rzucić okiem na to i coś doradzić, to będę wdzięczny
.................
Doklejam schemat, może będzie bardziej zrozumiałe dla wszystkich co chcę zrobić:
Pytanie:
czy mogę do pinu (PB0 lub jakikolwiek inny wolny) ustawionego jako wejście bez podciągnięcia dawać z zewnątrz 5v z USB po włączeniu komputera i na podstawie odczytu stanu tego pina działać jakoś w programie?
albo,
czy też muszę to ustawić jak wejście z podciągnięciem i reszta jak wyżej?
albo,
czy mogę to tylko i wyłącznie zrobić jako wejście podciągnięte i zwierane do masy?
Na tę chwilę moje kombinacje z plikiem main.c od LCD2USB wyglądają następująco (tu akurat kombinowałem z pinem PD0) i nie wiem czy moje rozumowanie jest poprawne:
Konstruuje sobie sterownik LCD2USB wstępnie na płytce stykowej i on działa. Skonstruowany jest według schematu z tej strony. Na schemacie są oczywiście przyciski, które nie są mi potrzebne i wyprowadzenia do programowania układu, jak również dwie wersje złącz do podłączenia wyświetlacza - mi jest tylko potrzebne złącze na wyświetlacz 1x16pin, złącza do programowania nie przewiduję, także nóżki Atmegi8 PB3,PB4,PB5,PB0 pozostają wolne do wykorzystania.
I teraz potrzebuję jeszcze układ do HTPC który by załączał komputer na pilota. Pomysł zaczerpnąłem stąd. Układ zmontowany Atiny13 działa jak należy, natomiast chciałbym jego funkcje przenieść z racji niewykorzystanych pinów do Atmegi8. Sam wsad z tego włącznika dla pilotów Sony po małych modyfikacjach i dopasowaniu do wolnych wyprowadzeń Atmegi działa. Natomiast nie mogę połączyć działania LCD2USB w jednym pliku/układzie. Wiele kombinowałem, i wykoncypowałem sobie, żeby zrobić to na zasadzie: jest napięcie na wtyczce USB (wejście PB0) - układ działa jak LCD2USB, wyświetlacz świeci / nie ma napięcia na USB - układ realizuje funkcję włącznika (w obu przypadkach sam mikrokontroler jest zasilany z wtyczki ATX i tamtejszych 5v, płyta odcina 5v po wyłączeniu kompa, tak żeby wyświetlacz wtedy się wyłączał).
I tu pojawia się problem bo nie wiem jak to wszystko ładnie w C napisać, żeby to działało tak jak opisałem. Chodzi o to żeby ten kod LCD2USB:
Kod: text
z kodem włącznika odczytującego sygnały z pilota Sony (proszę nie zwracać uwagę na sposób realizacji jego funkcji, ważne, że działa
Kod: text
Jeśli dobrze rozumuję, to wystarczy to zrobić na zasadzie pętli, która by sprawdzała stan wejścia PB0 (pojawiające się przy włączeniu komputera napięcie), ale ja już różnie kombinowałem (wejścia/wyjścia wydaje mi się że dobrze wpisałem, define, include pododawałem, wspólne zostawiłem) głównie w tej pętli for(;
Także jak ktoś z Was chciałby rzucić okiem na to i coś doradzić, to będę wdzięczny
.................
Doklejam schemat, może będzie bardziej zrozumiałe dla wszystkich co chcę zrobić:
Pytanie:
czy mogę do pinu (PB0 lub jakikolwiek inny wolny) ustawionego jako wejście bez podciągnięcia dawać z zewnątrz 5v z USB po włączeniu komputera i na podstawie odczytu stanu tego pina działać jakoś w programie?
albo,
czy też muszę to ustawić jak wejście z podciągnięciem i reszta jak wyżej?
albo,
czy mogę to tylko i wyłącznie zrobić jako wejście podciągnięte i zwierane do masy?
Na tę chwilę moje kombinacje z plikiem main.c od LCD2USB wyglądają następująco (tu akurat kombinowałem z pinem PD0) i nie wiem czy moje rozumowanie jest poprawne:
Kod: text
