Kemott Napisano Maj 5, 2013 Udostępnij Napisano Maj 5, 2013 Witam, mam taką sprawę. Od kilku właściwie lat próbuję nauczyć się programowania mikrokontrolerów w języku C#. Przeszukiwałem internet ale jedyne co odnalazłem to kurs dostępny pod tym linkiem. http://hobby.abxyz.bplaced.net/index.php?pid=4&cid=1 Próbowałem na jego podstawie temat ogarnąć ale mam kilka problemów których nie umiem obejść. Po pierwsze, nie posiadam windowsa a linuxa a po drugie nie mam dostępu do komputera który posiadałby wejście lpt co bardzo mi utrudnia przełożenie wiedzy na praktykę bo nawet nie mam pojęcia czy to jak mi działa (a właściwie w ogóle nie działa) układ jest spowodowane złym zaprogramowaniem czy błędem w kodzie. I tu moje pytanie, czy zna ktoś jakiś w miarę przystępny kurs/stronę który by mi pomógł? Ewentualnie czy ktoś byłby w stanie mnie nakierować nieco w mojej nauce? Z góry dzięki za zainteresowanie tematem:) Link do komentarza Share on other sites More sharing options...
MirekCz Maj 5, 2013 Udostępnij Maj 5, 2013 Skoro używasz linuxa to może pomyśl o miniaturowym komputerze z linuxem pokroju raspberry pi? Istnieje możliwość programowania specyficznych płytek embedded w C#, ale jest to mocno okrojona wersja języka i do tego nie wiem na ile to jest wykonywalne bez windowsa... - http://en.wikipedia.org/wiki/.NET_Micro_Framework Miniaturowe system mikroprocesorowe zazwyczaj wymagają znajomości C lub nawet assemblera - mają zdecydowanie zbyt mało zasobów systemowych na C# czy jakiś poważny OS. Link do komentarza Share on other sites More sharing options...
kling Maj 6, 2013 Udostępnij Maj 6, 2013 Jakich błędów nie potrafisz obejść? Brak LPT nie jest problemem, za <50 PLN kupisz programator USB, który bez problemów śmiga na linuksie (Debian, Arch). Kurs, do którego podajesz link, bardzo dobrze wprowadza w świat programowania uC w C, sam od niego zaczynałem. Link do komentarza Share on other sites More sharing options...
Kemott Maj 7, 2013 Autor tematu Udostępnij Maj 7, 2013 Posiadam programator usb tylko problem zaczyna się z obsługą. Na różnych etapach moich prób pojawiały się różne błędy ale nawet nie jestem w stanie określić czy wynikają one ze złego kodu programu czy ze złego zaprogramowania. A odkąd mam linuksa to już w ogóle zaprogramować nawet nie jestem w stanie. Link do komentarza Share on other sites More sharing options...
Polecacz 101 Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Produkcja i montaż PCB - wybierz sprawdzone PCBWay! • Darmowe płytki dla studentów i projektów non-profit • Tylko 5$ za 10 prototypów PCB w 24 godziny • Usługa projektowania PCB na zlecenie • Montaż PCB od 30$ + bezpłatna dostawa i szablony • Darmowe narzędzie do podglądu plików Gerber Zobacz również » Film z fabryki PCBWay
kling Maj 7, 2013 Udostępnij Maj 7, 2013 Strasznie ogólnie opisujesz swój problem. Podaj więcej szczegółów (target, programator, system operacyjny) oraz pokaż kod, który nie działa i wtedy może uzyskasz pomoc. Nie wydaje mi się, że ktoś z kolegów potrafił wróżyć z fusuów;) Link do komentarza Share on other sites More sharing options...
lukas.ch Maj 10, 2013 Udostępnij Maj 10, 2013 Jeżeli chodzi o programowanie AVR pod linuxem. Mam nadzieję, że pomoże. 1. Potrzebne pakiety: a) binutils-avr,b) gcc,c) gcc-avr,d) avr-libc,e) avrdude. W celu zaprogramowania mikrokontrolera musimy wykonać trzy etapy: kompilacja, tworzenie pliku .hex, oraz zaprogramowanie kontrolera. 2. Kompilacja: W tym etapie zostanie zamieniony plik z kodem programu w języku c na kod maszynowy. W tym celu używany programu avr-gcc. Aby go użyć wykonujemy polecenie: avr-gcc -mmcu=kontroler plik_z_programem.c -o plik_wynikowy -kontroler – to nazwa kontrolera, pod który ma być skompilowany program -plik_z_programem.c – to nazwa pliku, który ma zostać skompilowany -plik_wynikowy – w tym miejscu definiujemy nazwę pliku, który powstanie w wyniku kompilacji 3. Tworzenie pliku .hex: W tym etapie zamieniamy plik, który powstał podczas kompilacji na plik .hex, który zostanie przekazany do programatora. A dokonujemy tego w ten sposób: avr-objcopy -O ihex plik_wynikowy nazwa_pliku.hex -plik_wynikowy – to plik, który uzyskaliśmy po kompilacji, a teraz chcemy go przetworzyć na plik .hex -nazwa_pliku.hex – to plik który powstanie w tym etapie 4. Programowanie: Teraz pozostało nam przesłać program do kontrolera. W tym celu użyjemy programu avrdude. Wywołujemy ten program poprzez polecenie: avrdude -c nazwa_programatora -p nazwa_procesora -U flash:w:nazwa_pliku.hex -nazwa_programatora – to nazwa urządzenia którego użyjemy do zaprogramowania kontrolera. Np. stk200, usbasp, stk500. -nazwa kontrolera – to nazwa układu programowanego, a mogą to być: m6450 = ATMEGA6450 m3250 = ATMEGA3250 m645 = ATMEGA645 m2561 = ATMEGA2561 m2560 = ATMEGA2560 m1281 = ATMEGA1281 m1280 = ATMEGA1280 m640 = ATMEGA640 m168 = ATMEGA168 m88 = ATMEGA88 m48 = ATMEGA48 m8535 = ATMEGA8535 m8515 = ATMEGA8515 m8 = ATMEGA8 m161 = ATMEGA161 m32 = ATMEGA32 m6490 = ATMEGA6490 m649 = ATMEGA649 m3290 = ATMEGA3290 m329 = ATMEGA329 m169 = ATMEGA169 m163 = ATMEGA163 m162 = ATMEGA162 m644 = ATMEGA644 m324 = ATMEGA324 m164 = ATMEGA164 m16 = ATMEGA16 m128 = ATMEGA128 m64 = ATMEGA64 m103 = ATMEGA103 5. Skrypt w bashu a) ogólnie: avr-gcc -mmcu=kontroler plik_z_programem.c -o plik_wynikowy avr-objcopy -O ihex plik_wynikowy nazwa_pliku.hex avrdude -c nazwa_programatora -p nazwa_procesora -U flash:w:nazwa_pliku.hex b) szczególnie(nazwa pliku np. avr.sh): #!/bin/bash avr-gcc -mmcu=atmega88p -Os falka.c -o falka.o avr-gcc -mmcu=atmega88p -Os falka1.c -o falka1.o avr-gcc -mmcu=atmega88p -Os falka2.c -o falka2.o avr-gcc falka.o falka1.o falka2.o -o projekt.out avr-objcopy -O ihex projekt.out falka.hex sudo avrdude -c usbasp -p m88p -U flash:w:falka.hex c) uruchomienie w konsoli ./nazwa_pliku.sh 1 Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
Bądź aktywny - zaloguj się lub utwórz konto!
Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony
Utwórz konto w ~20 sekund!
Zarejestruj nowe konto, to proste!
Zarejestruj się »Zaloguj się
Posiadasz własne konto? Użyj go!
Zaloguj się »