Witam. Koledzy niby prosty układzik między innymi z czujnikiem temperatury DS18b20. Nijak nie mogę uruchomić tego czujnika. Sprawdziłem wszystko pod kątem połączeń zwarć i zimnych lutów. Ba nawet czujnik podmieniałem i nadal temperatura odczytana z czujnika to -0.1. Wiem że mam jakiegoś babola w programie którego nie widzę. Jak znam życie to jakiś banał...
Witam Pisze własną implementację stosu TCP IP na ATmega2560 i dotarłem do pierwszej ściany... Napisałem prostą implementację UDP. Wysyłam pakiet na serwer udp napisany w Javie na PC. WireSkark pokazuje, że pakiet dociera do komputera. Numery portów i adresy się zgadzają, WireShark nie pokazuje żadnego błędu w ramce, więc kod jest chyba poprawny a mimo...
Witam.Moim zadaniem które otrzymałem jest zmodyfikowanie informacji wyświetlanej na tablicach informacyjnych jednego z autobusów.Problemu by nie było,gdyby dostarczone oprogramowanie pozwalało by na wprowadzenie zmian.Niestety producent uniemożliwił w posiadanej przeze mnie wersji,jakiekolwiek modyfikacji.Obecnie pracuje nad modyfikacją wsadu sterownika,który...
Witam, jestem początkujący w programowaniu AVR. Chce zapisać tablicę (przykładowy tekst) a potem odczytać z eeprom atmega88. void main( void ) { ... static EEMEM uint8_t eeprom_val[6]; uint8_t val1[6] = {"12345"}; print_string("\n\r. Zapis do pamięci EEPROM\n\ -> val1 "); if (eeprom_is_ready())...
Witam Otóż mam mały problem. Pisze sobie szybkie przerwanie dla timera na Atmega644, to co mi kompilator z C przetłumaczył na assembler wrzuciłem do wstawki assemblerowej a przerwanie zadeklarowałem z argumentem ISR_NAKED, rejestry używane w przerwaniu zarezerwowałem przez: register uint16_t licznik asm("r30"); register uint16_t temp...
Ok teraz chyba rozumiem, czyli np: [syntax=c]void fun( uint16_t * zm ); fun( &zmienna_flash );[/syntax] tak by wyglądała deklaracja funkcji w której argumentem jest wskaźnik a niżej jej wywołanie w programie. Gdyby chodziło o tablicę w pamięci flash to np: [syntax=c]uint16_t tablica[] PROGMEM = {512,3,1333}; void fun( uint16_t * tb );[/syntax] a potem...
Wielkie dzięki :) bardzo mi pomogłeś Widzę że śmiało można zrealizować bufor na tablicy jednowymiarowej :)
Nie widzę tablicy do której zapisywany jest numer seryjny DS18B20. Na schemacie masz 3 dallasy to i 3 tablice powinny być
No tak trzeba wziąść pod uwagę, że nawet jeżeli po przecinku jest wartość bliska jedności to zostaje obcięta... itoa przy wstawianiu wartości do tablicy zawsze przesuwa w stronę pierwszego ("0") pola dlatego jeżeli wysyłasz zawsze całą tablicę to przed itoa do wszystkich pól tablicy wstaw spację...
To sprobuj wybudzac recznie a nie za pomoaca CLK i zobaczysz czy przyczyną jest długosc sygnalu '0". Kiedys mialempodobny problem nie wnikajac w szczegóły dale diode i kondensator na wejscie INT1 i osiagnąlem 100% wybudzen oczywiscie pod warunkie ze to wejscie tylko uzywasz do wybudzen. Zwróc uwagę ze kazdy procesor startuje w okreslonym czasie po wybudzeniu...
Na poczatek proponuje zrobic tablice tablica[ilosc_efectow] ={00000001, ....,11111111}; wg twojego schematu. Pozniej petla for i bedzie dzialac ;d
przy okazji pochwale się swoją tablicą na atmega32 74hc259 + udn a jako zatrzaski 74hc373 Ledy są w kościach 8x8 6 cm czyli tablica 48x12 cm :) Martwi minie tylko czy starczy mocy do obsługi uartu jak się za to wezmę :) Narazie dodaje nowe efekty - to chyba największa frajda jak już działa ;)
Tak to skonsumujesz całą pamięć procesora na program dla większej ilości przycisków. Musisz zrobić ten układ w pętlach. Zadeklaruj sobie tablicę 2 wymiarową i zrób 2 pętle. Pierwsza pętla będzie przemiatać wiersze, druga kolumny. Wystarczy w środku dać jeden warunek i wpisywać wartości do tablicy.
Dwóch rdzeni to tam raczej nie masz, więc oczywiście że może. Są dwa warianty, albo drugie przerwanie zostanie przyblokowane na czas wykonywania pierwszego, albo pierwsze przerwanie zostanie przerwane przez drugie. Jeżeli wystąpią jednocześnie, to jako pierwsze zostanie wywołane to, które ma niższy adres w tablicy wektorów przerwań.
A gdzie jest tablica bytes[]?
Witam! Z racji tego że nie można tworzyć tablic wielowymarowych w Bascomie proszę o pomoc w rozwiązaniu mojego problemu. Potrzebuje (w sterowniku czasowym - tygodniowym) przypisać do 10 czasów załączania i wyłaczania oraz sterowania dla każdego dnia tygodnia. Nie mama pojecia jak to rozwiązać. Z grubsza do pamięci eeprom musze zapisać: Bit_X, D_tyg,...
No to napisałem coś takiego: [syntax=c][dwie tablice 2d] = IIR_filterAkc(akcelerometr_poss_x_in, akcelerometr_poss_x_out, akcelerometr_poss_x); //Filtr chebbyshewa II[/syntax] [syntax=c]IIR_filterAkc(int **in, float **out, int tmp) { float w=tmp; for(int i=0;i<MWSPT_NSEC;i++) { in[i][2] = in[i][1]; // 2 argument oznacza czas wstecz np. 2 to z^-2,...
Czy można napisać program w ten sposób żę wartość zmiennej (string) będzie nazwą innej zmiennej np: A01 = "tekst1" A02 = "tekst2" A03 = "tekst3" B = "A01" I teraz potrzebuję wywołać np. LCD B tak żeby na wyświetlaczu wyświetliło się tekst1 Przepraszam za "zakręcenie". Nie mogę skorzystać z tablic.
Pomyśl, ile naprawdę masz możliwych wersji tego odcinka na wyświetlaczu o tej rozdzielczości, policz w arkuszu kalkulacyjnym współrzędne lub parametry przyrostowe dla każdej wersji, wrzuć je do tablicy indeksowanej czymś, co odpowiada kątowi i niech Twój AVR rysuje odcinek na podstawie parametrów odczytanych z tablicy.
Dzięki za pomoc. Teraz mam już inny problem:) Nie wiem jak uint32_t przekonwertować na tablicę znaków...
Witam. Ostatnio zajmowałem się obsługą cyfrowych czujników temperatury ds18b20, a do tego potrzebowałem napisać funkcję search rom. Poniżej wklejam koda odpowiednich funkcji. Dodano po 2 Szukałem tego z 10h, błędem było nie wyzerowanie licznika "n" gdy ponownie przeszukiwałem adresy, więc funkcja zapisywała liczby poza tablicą. Zamykam
Witam wszystkich. Zaprojektowałem i uruchomiłem zegarek z wyświetlaczami LED(SA10-21GWA) i układem PCF8583 współpracującym z mikroprocesorem Atmega8 oraz układami PCF8574AP na szynie TWI(i2c). A teraz chciałbym go wam zaprezentować. Na początek podręcznik języka C w formie pliku pdf -> 'C.pdf' i plik -> 'atmega16mmr.pdf' ,oraz obrazki -> 'Atmega8.gif'...
Witam, Mam następujący problem. Zakupiłem robota z zamontowaną płytką: GPS to FGPMMOPA4, konfiguracja: 9600 bps/8/N/1 Po drobnych modyfikacjach zamontowany jest tam kwarc 7,3728 Mhz. Procesor to Atmega128L (początkowo był Atmega128A z kwarcem 16Mhz). Podłączyłem do RX0 wyjście TX GPS FGPMMOPA4. Jako że GPS zasilany jest 3,3V a Atmega 5v to napięcie...
$regfile = "m8def.dat" $crystal = 16000000 $baud = 57600 $framesize = 32 $hwstack = 32 $swstack = 32 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portc.4 , Db7 = Portc.5 , E = Portc.1 , Rs = Portc.0 Config Debounce = 30 'Długość naciśnięcia przycisków Config Timer0 = Timer , Prescale = 256 On Timer0 Odmierz_1s...
Witam Porwałem się na robienie własnego sterownika co i stanąłem w martwym punkcie. Mianowicie sterownik składa się z 2 płytek na których są Atmegi 16 taktowane zewnętrznym kwarcem 11.059200 + kwarc zegarkowy jeden układ odpowiedzialny za odczyt temperatur regulację fazową wentylatora oraz sterowanie elektrozaworami a drugi obsługa wyświetlacza graficznego...
W nocie katalogowej jest zapisane że przy napięciu 3,3V będzie chodzić Atmega8L. Ta bez "L" jest dla zasilania 5V. W takim razie jeśli masz kość c L-em obsłużysz pamięć bez dodatkowych buforów w logice 3,3 V Pytanie tylko jak takie napięcie zasilania wpłynie na proces programowania np. programatorem np. STK200 ? Swoją drogą zainwestowałbym w inną pamięć...
Witam, Korzystając z ostatnich wolnych dni przed studiami chciałbym zaprezentować moją ostatnią konstrukcję. Jest to mały przenośny barometr. Konstrukcja powstała na potrzeby osoby wrażliwej na zmiany ciśnienia oraz spełnia jej wymagania tzn. mały rozmiar( 20x40x9mm) oraz co się z tym wiąże - mobilność. W krótkim czasie planuję rozbudować urządzenie...
Witam! Próbuję poradzić sobie z zapisem i odczytem zmiennej z EEPROM'u. Gdy po zapisaniu do pamięci zmiennej resetuję procka przy użyciu programatora to jest ona prawidłowo odczytywana. Gdy natomiast odłączę zasilanie to niestety procek odczytuje mi inną wartość. Ta źle odczytana wartość równa jest '1' czyli takiej wartości jaką wpisuję do EEpromu w...
Dzien dobry. Piszę bootloader do procesora atmega32. Bootloader ma dzialać w terminalu więc konwersja ascii -> hex jest przeprowadzana w mikrokontrolerze. Po uruchomieniu, program ładnie się przesyła, wszystko wydaje się być OK. Po resecie jednak nic się nie dzieje. Skopiowałem całą zawartość pamięci i zauważyłem, że drugi bajt jest nieprawidłowo...
Wariometr, Atmega168 + LCD Nokia 3330 / 3310 + Bosh BMP085 Witam. Przedstawiam projekt, który zrobiłem na zaliczenie na studiach, a tym samym chciałem, aby był użyteczny. Wariometr elektroniczny służy do pomiaru prędkości pionowej. Można go stosować do wolnego latania paralotniarzy. Polega to na lataniu bez napędu szukając kominów termicznych, które...
Witam, Chcę połączyć ze sobą dwie atmegi po TWI korzystam ze standardowej biblioteki do obsługi sprzętowego TWi tak jak w datasheetach. Jak podłączę jednego AVR do np Ds1307 to obsługa jest ok w dwie strony. Problem mam gdy połączę Atmega32 (master) z Atmega8 (slave) tzn gdy z Atmegi32 wysyłam coś np literkę 'q' to jest ona wrzucana do buf2 i ma się...
Mikrokontrolery AVR cieszą się niezmienną popularnością, ze względu na swoją prostotę, a jednocześnie spore możliwości. Co ciekawe, mimo, że od lat wszyscy wieszczą rychłą śmierć mikrokontrolerów 8-bitowych, mają się one ciągle dobrze, a kolejne, nowe rodziny są wprowadzane na rynek. Jakiś czas temu Microchip wprowadził na rynek nową rodzinę mikrokontrolerów...
Dobra, kolejny pomysł :-) W linijce lcd_putc(buffer[i]); tablica powinna być indeksowana zmienną j
Moje problemy odbiegają od poprzedników ale temat zgodny, więc: Mam uP Atmega 8 oraz wyświetlacz zgodny z hd47780 2*16znaków. Gdy wrzucam jeden znak na wyświetlacz przy pomocy kodu niżej wszystko jest ok: while(1) { LCD_CLEAR; LCD_LOCATE(1,0); LCD_WRITE_DATA('d'); } return 0; } Mogę kilka takich znaków wrzucić...
Zabrakło ci RAM - same dwie tablice v i u deklarujesz jako 256-bajtowe - łącznie mają 512 bajtów, tyle ile całej pamięci ma użyta ATMega. A gdzie miejsce na pozostałe zmienne lokalne (a masz nawet 100-bajtowe tablice) i stos? Dochodzi do nadpisania stosu i to co się dzieje to chaos.
Witam, Zastanawiam się nad zrobieniem niewielkiej tablicy LED która powiedzmy składała by się z 10x tablica_led_8x5, mógłbym na niej przykładowo wyświetlić jakieś 10 literowe słowo np. ROBOKOP000, myślałem żeby użyć do tego 5 układów atmega8515. Nie wiem tylko jak zrobić żeby wysłać tekst z komputera przez COM i żeby wyświetlić konkretne LED z matrycy8x5....
Do czego to doszło ;p Może od nowa, wersja z i2c chce dopiero teraz wprowadzić jak na razie jest po Bożemu znaczy sie wyswietlacz ze sterownikiem znajduje się na 2pietru kamienicy układ wykonawczy i wyłącznik (countera) znajduje się w piwnicy. Z i2c to dopiero mam zamiar zrobić bo zależy mi na dwóch wyswietlaczach jednym w piwnicy drugim na 2pietrze....
Witam, Stworzyłem przetwornik do pomiarów kątów w przestrzeni. Z procesora Atmega 328p-pu (zewnetrzy kwarc 16MHz, BaudRate 9600) wysyłam ramkę: [syntax=c]printf("%4ld,%4ld,%4ld,%d,%d,%... ,xo,yo,zo,gyrox,gyroy,gyroz,stopnie);[/s... Po stronie odbiorczej napisaną mam aplikację w Visual C# Express. Tam dane rozdzielam do tablicy dane na podstawie...
Witam, Mam pewien problem powiazany z UARTem pod atmega8l... Otoz mam pewnien program ktory pieknie dziala pod attiny2313(UART sprawny, komunikacja rs232<=>pc tez dziala dobrze). Problem narodzil sie, gdy chcialem przeniesc ten program na atmege8l... Podejrzewam, ze problem lezy we flagach... Nie znam sie jeszcze na tyle dobrze na C, zeby problem...
Chwilunia, nie mieszaj do tego ATMegi8 Bo na pewno ona się znacznie różni. M48/M88 różnią się tylko wielkośćią pamięci więc jeśli używasz środowiska gdzie deklaruje sie przydzielenie poszczególnych pamięci do określonych ról to też jest to ważny parametr (gdy program jest spory, używasz tablic itp) Mega8 jest starsza od M48 i nie posiada niektórych...
Witam, mam układ sterujący serwem przez ATMega88. W obecnym momencie zadaniem układu jest odczytać pozycje serwa (potencjometr drugi POT2) przeliczyć ją na generator PWM i wypluć dokładnie te samą pozycje (na OCR1A). Problem jest taki, iż serwo zamiast stać sztywno pływa w całym zakresie czyli od -90 do +90 stopni mocno trzęsąc się przy tym - a gdzie...
Działa dziękuję. A możesz mi powiedzieć skąd Ty bierzesz takie informacje? A czy przy okazji mogę się podpytać o taką rzecz. Mam układ ATMega162 z zewnętrzną pamięcią RAM 62256. Całość jest pisana w AVR-GCC używając AVR Studio. Potrzebuję aby ta pamięć RAM była tylko do przechowywania takich danych jak np tablica. Jak zmusić AVR Studio tzn gdzie i co...
Na poczatek zasugeruję aby kolega napisał co ma ustawione w opcjach kompilatora. Mam ten produkt (legalnie kupiłem) i niestety musze stwierdzić że zachowanie zmiennych mocno zalezy od opcji kompilatora. A może rzecz najwazniejsza. Gdzie się podziało zainicjowanie licznika podczas wejścia w procedurę przerwania, drogi kolego ? W ogóle to nie bardzo rozumiem...
Potrzebuje emulator DS18B20 na atmega8 - mam na PC program do odczytu temp i chciałem w tym programie dodac inne parametry ( np wilgotnosc ) ale nie zmieniajac programu - w scrachpadzie bede wisyłał inne dane nie temperature. ( w bajtach temperatury lub bajtach uzytkownika wolnych 2szt) Aktualnie używam "lampomitari" , ale napisalem przeróbke programu...
Wziąłem to,co było pod ręką, poza tym każda ATmega posiada sprzętowe mnożenie, które zdecydowanie ułatwia sprawę przy pobieraniu wartości z tablicy oktaw. Na upartego, to i można zrobić na ATtiny24 (warunek: jeden timer 8 bit i jeden 16 bit), ale ten projekt ma służyć początkującym, a tacy, według moich subiektywnych obserwacji działu "Mikrokontelery",...
Przy tworzeniu projektów z mikrokontrolerami, oprócz uniwersalnych płytek stykowych, często przydają się gotowe moduły testowe, które można szybko podłączyć. Można kupić takie w wielu sklepach, ale ich ceny są na ogół absurdalne, np. w Kamami sprzedają płytkę z ATmega128 za 109 zł! Poniżej prezentowana płytka kosztowała mnie niecałe 40 zł, z czego...
Witam, Na wstępie chce już zaznaczyć że przeczytałem wszystkie tematy na elektrodzie na ten temat i niestety pomimo wykorzystania wszystkich wskazówek udzielanych innym użytkownikom nadal nie działa mi termometr. 1. Co już zrobiłem: a) podłączyłem linie danych przez rezystor 4,7k do zasilania b) zrobiłem opóźnienia w pętli aby _delay_ms nie było za...
Witam! Mam problem z komunikacja pomiędzy TDA8425 a Atmega 32. Napisałem program jednak układ nie reaguje na komendy I2C. Wymieniłem już układ na nowy i to nic nie pomogło. Wszystkie elementy są sprawne, zarówno wzmacniacz jak i Atmega. Na wyświetlaczu wyświetla się, że niby wysłano te 3 bajty do komunikacji ale jednak muzyka nie gra. Wstawiam kod programu...
Potrzebuje informacji np.: jak z aplikacji włączyć wyłączyć diode led, Przećwicz sobie UART na jakiejś prostej aplikacji. I to najlepiej najpierw z komputerem, za pomocą np Br(at)y Terminal, COMtester lub HyperTerminal. W przerwaniu robisz zapis do bufora odbiorczego lub zmiennej, a w pętli głównej porównujesz jaką komendę masz w tym buforze odbiorczym...
Witam Mam problem nie do przejścia, znalazłem na internecie kod do obsługi właśnie tego modelu ekranu, standardowo pisany był pod ATmega32, lecz pod ATmega8 również ma działać. Rozpocząłem naukę poruszania się po Eclipse, wcześniej pracowałem na "Programmers Notepad Konfiguracja pinów w bibliotece [syntax=c] // --------------- ATMega32 podłaczenie pinów...
Próbowałeś terminalem dogadać się z HC-05 na tych ustawieniach parametrów transmisji? ... nie podmieniłeś funkcji na moją. Teraz to musi już działać a nadal jest coś nie tak :( [syntax=c] /* BAUD RATE: 9600 */ #include <avr/io.h> // Załaduj bibliotekę input/output #include <util/delay.h> // Załaduj bibliotekę opóźnień #include <avr/interrupt.h>...
Cześć, chcę zrobić prosty termometr. Do pinu PC1 mojej Atmegi8A mam podpięty czujnik temperatury [url=]TMP 36, z którego odczytuję wartość ADC (ale nie mam pewności czy ten wynik jest poprawny.) Do pinu AREF mam podpięty do masy kondensator ceramiczny 100nF/50V. Jako układ odniesienia wybrałem AVCC. Chcę teraz na LCD wyświetlić wynik temperatury tylko...
Ta druga funkcja ma wyglądać tak jak poniżej? I na początku głównej pętli najpierw wypisuję wywołuje funkcji "average_adc" , a to zmiennej przechowującej ADC zapisuję wartość zwracaną przez "average_adc_read"? [syntax=c] void average_adc(void) { static uint16_t licznik; ADCSRA |= (1 << ADSC); while(ADCSRA & (1 << ADSC)); tablica[licznik++]...
Cześć, witajcie. uruchomiłem komunikację dwóch atmeg po spi. w bascomie z pominięciem wbudowanych komend, tylko na rejestrach procesora. hardwarowo wszystko chodzi, dane sie przesyłają w obie strony z jednym dużym problemem. drugi dzień nad tym siedzę i mam już kwadratowy łeb. potrzebuję przesyłać tabele, których specyfika jest taka, że nigdy nie wystąpią...
te instrukcje zerują bit w rejestrze ok. wielkie dzięki ale czytając książki na temat programowania tego ustrojstwa atmega było napisane że wystąpienie przerwania w trybie przechwytywania następuje w skutek wykrycia zmiany sygnału na wejściu icp1 gdy timer ustawiony jest w tryb przechwytywania ale mam teraz pytanie (problem)?-brak weny twórczej to kilka...
Pogrzebałem trochę i choć nie rozwiązałem tego, to wydaje mi się, że to nie wina hardwaru. Zdisasemblowałem ELFa i na początku mam tablicę wektorów. Domyślam się, że to wektory przerwań. Pierwszy to skok do miejsca gdzie kończą się wektory. Rozumiem, że to wektor dla reset. Każdy następny to skok do adresu 0x8a, gdzie jest 0000008a <__bad_interrupt>:...
Został mi tylko jeden zestaw (reszta już się rozeszła). Główna procedura jest w asm i jest to procedura generacyjna bazująca na odczycie próbek z tablicy stałych. Tak jest dla wszystkich przebiegów poza przebiegiem użytkownika. Dlatego całość sterowania dział na przrwaniach. Całość to około 6k kodu z czego 2k to same tablice i inne potrzebne stałe do...
Najłatwiej będzie chyba znaleźć przykłady kompresji/dekompresji oparte o algorytm formatu zip... nawet je gdzies miałem, ale przeszukanie dysku zajmie mi trochę czasu więc może szybciej bedzie w google... jest API do programu 7Zip, jest bez ograniczen licencyjnych i mocnie zagęszcza. Algoryt ZIP jest patentowany, chyba tylko unzipy są dostepne. jest...
W analizatorze (nawet tak prostym) to trzeba jednak obejrzeć każdą ramkę (przynajmniej jej początek) i tu raczej RS232 się nie wyrobi (nawet na 115Kb). To co widziałeś to najprawdopodobniej bardziej rozbudowany układ który po RS232 wysyła jedynie transmisje z wybranego portu (TCP/UDP)/IP. Ty musisz widzieć ramki ethernetu. Potem tylko analizować odpowiednie...
Witam Piszę w Codevision w C. Zbieram 128 próbek z przetwornika ADC. Próbki zbieram w pętli: while(x<128){ dane[x]=read_adc(5); x++; } dane[128] to zadeklarowana tablica 128 elementów typu char. Podczas pomiaru procek nic innego nie robi. Chcę go max wykorzystać na szybkość pomiaru tj. liczbę próbek w czasie. Teraz uzyskuję 20k próbek na sekundę....
Witam, na Atmedze32 i PCF8583 zbudowałem zegarek z kalendarzem wyświetlającym dni i miesiące. Mam problem w momencie, gdy ustawię 31. grudnia. Po przekroczeniu godziny "0", miesiąc zmienia się na 01, natomiast dni na 41. Pozostałe miesiące przeskakują normalnie. Co może być nie tak ? Oto fragment kodu: 1) funkcja wyświetlająca czas i datę na LCD void...
zastanawiam sie ile procek potrzebuje pamieci na napisanie programu w C do obslugi wyswietlacza i programu do licznika ( podstawowe funkcje, predkosc, dystans, dystans dzienny, srednia predkosc, moze zegarek ? . Spokojnie wystarczy 8kB (gdzie ponad połowa to będzie deklaracja tablic ze znakami lub prostą grafiką dla Twojego LCD. Myślę za ATMEGA8L-8AU...
Na stronie podanej przez autora tematu są kody w C. Chyba nie powinno być problemu z przeniesieniem do Bascoma. W ogólności to tylko obsługa SPI i wysyłanie odpowiednich komend i danych. P.S. Czy któryś z szanownych kolegów posiada program do konwersji obrazów do tablicy dla tego wyświetlacza? Interesuje mnie wersja na windows, generująca pliki w C....
poprawiłem na: const char *bufor[8] i errory zniknęły ale warning dalej ten sam. Dodanie progmem nic nie daje. Procesor ATMega88.
Witam Mam taki dziwny problem. Skusiła mnie biblioteka Rafała Krzysztofa i chcąc sprawdzić jej działanie skompilowałem program lcdtest.c. W oryginalnym pliku makefile programu do obsługi LCD zmieniłem tylko częstotliwość taktowania: z 16 na 8MHz. Po wgraniu do uC (Atmega16L) LCD inicjalizuje się poprawnie i raz na ok 15-20sec wykonuje komendę "kursor...
Komunikacja miedzy dwoma mikroprocesorami AVR oparta na zmodyfikowanym protokole MODBUS RTU zrealizowana na interfejsie RS422 (full duplex). Witam wszystkich. To pierwsza publikacja jednego z moich samodzielnie zrealizowanych projektów (a kilka ich było). Układ (sterownik) docelowo ma służyć do kontroli temperatury w szklarni oraz do automatycznego...
Dodatkowym kosztem jest to, że obiekty z metodami wirtualnymi "kosztują" dodatkowe 2 bajty (1 wskaźnik) na obiekt. Jeśli chodzi o new i delete, to można je osobno implementować dla każdej klasy - czyli obiekty pewnych klas można np. alokować z tablicy statycznej zamiast malloc-owania pamięci. Nawet bez obiektów C++ bez ma inne zalety (np. template'y,...
Jutro wieczorkiem będę modyfikował program. Mam zamiar po prostu wpisać do programu tablicę z gotowymi danym (policzonymi przez exela) Będzie to i dokładniejsze i mniej pracochłonne dla procka. Dzisiaj "poćwiczyłem" trochę zmienne tablicowe w PROGMEM i zobaczymy co z tego jutro wyniknie. będę na pewno informował o postępach. Testuje mój pomysł z tabelą...
Kurcze ale malutki jestem... :D Po skrócie 1. Nie używałem JTAG-a i ta wiedza póki co nie jest mi raczej potrzebna. 2. Wiem jak ustawia się fusebits, ale jak napisałem na AT mam wyłączony JTAG a na AT168 nie. Jednak magistrala na AT168 działa bez problemu i to na porcie C z włączonym JTAG-iem 3. Rezystor podciągający dobrałem metodą prób i błędów staneło...
Obiecałem działający programik. Działa na 100%. Jest to progrtam, który wysyła stan temperatury z DS18B20 do kompa, ale dla Ciebie najistotniejszy jest sposób komunikacji. Jest wysyłane zapytanie i uC zwraca odpowiedź. Jak uporasz się z krzaczkami, to program Ci się przyda. Można zrobić bardzo prosty protokół wymiany informacji. #include <avr/io.h>...
Już mówię po co ta tablica. Na Atmedze mam odpalić algorytm szyfrowania o nazwie Blowfish. Żeby algorytm działał na tej Atmedze to rzecz jasna musi się tam cały znajdować, bo nie chcę dołączać żadnej dodatkowej pamięci (prosty układ). Tablice są tzw. S-boxami i są wykorzystywane do szyfrowania jako dane inicjalizacyjne. Teraz dodaję te pliki spakowane...
jeśli mam daną funkcję inline: inline void foo(); to mogę ją wskazać w ten sposób: // nawiasy określają priorytet // bez nich byłoby to tablicą wskaźników // a nie wskaźnikiem funkcji void (*wsk_foo)(); wsk_foo= foo; no i faktycznie działa... Idąc dalej tym tropem, wrzucam ten wskaźnik do struktury: typedef struct { void...
Array to tablica. Nie wiedząc czemu nie mogłem namierzyć drugiego elementu tablicy "Dziel(2)" w symulatorze, przez co nie działało. Zamiast tego użyj drugiej zmiennej Byte i sprawdź Twój program, bo w symulatorze działa prawidłowo. Oczywiście wywal Format i całą konwersję do tekstu, bo jest nie potrzebna. Do symulowania impulsów możesz sobie zbudować...
Witajcie, człowiek tylko pójdzie do pracy na kilka godzin, a tu taka gorąca dyskusja się wywiązała ;) Co do odległości, to nie jest kosmiczna, około 15, max.20 metrów. Wolałbym, aby komunikacja była na tych samych liniach w obu kierunkach z jednym masterem. Slave (jak nazwa wskazuje) grzecznie słucha i odpowiada tylko jeśli zostanie wywołany "do tablicy"....
Witam, Przeczytałem wiele stron z podobną tematyką, próbowałem wielu różnych algorytmów, jednak nie udało mi się osiągnąć tego co chciałem. Założenie: Komunikacja aplikacji napisanej w visual c++ 2010 express z atmega16/32. 1. Wysyłka 5 liczb z komputera: (parametr1, parametr2, parametr3, parametr4, parametr5) na atmegę. Sprawa wydawałoby się prosta,...
tablica wektorow przerwań jest ustawiona na bootloader. chyba ze to źle robie... boottest2.elf: file format elf32-avr Sections: Idx Name Size VMA LMA File off Algn 0 .text 00000158 00001800 00001800 00000094 2**1 CONTENTS, ALLOC, LOAD, READONLY, CODE 1 .data 0000002a 00800060 00001958 000001ec 2**0 CONTENTS, ALLOC, LOAD, DATA 2 .bss 00000002...
Nie uzywanie volatile dla danych które modyfikujesz z ISRa a interpretujesz w superloopie to jest prosta droga do wygenerowania sobie wszelkich możliwych szopek. Nie zawsze jest sens dodawać volatile do buforów - piszę na ARMy w keilu i nie zemściło sie na mnie nigdy ze elementy tablic nie są volatile, gdzie w szczególności dotyczy to wszelkiego rodzaju...
Na wstępie chciałbym przybliżyć, skąd taka a nie inna nazwa nadana przeze mnie temu projektowi. Prace rozpoczęły się w momencie zapotrzebowania na minimum dwa zsynchronizowane generatory małej częstotliwości. Ponieważ zakres przestrajania jaki mnie zadowalał ograniczał się do 100Hz przy rozdzielczości 0,01Hz wybór padł na zalegające w szufladzie ATMEGA....
Istnieje prawdopodobienstwo ze masz racje, zaczyna zabawe z AVR. Wszytskie kody z linku ktory podalem. Przy czym odpalone na EvB4.3 z atmega32 dziala "od kopa". Plytke nie ja projektowalem, jedynie skladalem do qpy i dzialala... ;) Konfiguracja polaczen Oczywiscie jako pierwszy krok przerobilem plik hd44780.h tak aby piny sie zgadzaly. Nastepnie dolaczylem...
Witam Przejdę od razu do opisu problemu. Mam dwa urządzenia. Jedno Nadawca wysyła dane po RS232 drugi Odbiorca drukarka termiczna Epson TM-T88 (transmisja ASCII). Sposób komunikacji rozgryzłem przy użyciu analizatora stanów logicznych jest to również transmisja ASCII z kilkoma dodanymi elementami. Chcę ją przetłumaczyć tak aby dane drukować na Epsonie...
Postanowiłem jednak to sprawdzić i usunąłem delay i wgrałem stary program jednak ku mojemu zdziwieniu układ działa, nie mam zielonego pojęcia co się stało. Cały układ mam na płytce stykowej, żadne połączenia nie były ruszane. To teraz już rozumiesz, że problem nie leżał w Twoim programie i dlaczego chcieliśmy, abyś pokazał schemat? Przy okazji drobna...
Witam, Walczę juz z problemem trzeci dzień, prubuje wklejać rózne przykłady bibliotek wyświetlacza i ciągle nic. Przeglądam podobne problemy na google, na elektrona i dalej nic. Brakuje mi już siły. Podam przykład: [syntax=c]/* Plik main.c Wyświetlacz alfanumeryczny LCD 20x4 "QC2004A" układ atmega8 (8MHz) */ #include <avr/io.h> #include <util/delay.h>...
Witam! Swego czasu zacząłem przygodę z atmegą i nadszedł czas na zrobienie termometru. Chcę to zrealizować za pomocą dwóch 7 segmentowych wyświetlaczy, termometru DS18B20 oraz mikrokontrolera Atmega8. Układ złożyłem, przedstawiony jest na zdjęciu. Niestety nie posiadam układów, żeby użyć mniejszej ilości pinów, dlatego wyświetlacze zajmują właściwie...
Witam Od jakiegoś czasu próbuję odczytać łańcuch znaków z pamięci flash. jeżeli chodzi o dane 8 bitowe lub 16 bitowe nie ma problemu wszystko jest ok. Sytuacja komplikuje mi się jeżeli chcę umieścić napisy w pamięci Flash. Żeby bardziej zobrazować o co mi chodzi to przedstawię fragmenty kodu które mi działają a które nie. funkcja która odpowiada za...
Ostatnio wraz z kumplami z klasy zaczęliśmy tworzyć wytrawiarkę PCB jak ta w stylu [url=]Wytrawiarka by mastermaniek V2.0 z tym że postanowiliśmy dodać windę do płytki która by opuszczała płytkę do wytrawiacza i wyjmowała ją z powrotem. Był plan zastosowania l289 do sterowania silnika liniowego który pozwalałby realizować działanie windy. Niestety silnik...
Witajcie moi drodzy. Chciałem zrobić komunikację po RS232, na początek w jedną stronę - z atmegi do komputera. Niestety, ciągle pojawia się taki błąd: Korzystam z zewnętrznego kwarca 16MHz bez kondensatorów. Takie mam fuse bits: Podłaczenia MAX232 mam takie jak tu: Kod natomiast taki (autorstwa dondu, z tym, ze dodalem mruganie diodą i przerobilem pod...
Witajcie moi drodzy. Udało mi się obsłużyć (częściowo) klawiaturę matrycowa. Proszę o sprawdzenie kodu (kod bazuje na przykładzie dondu bo przez rs232 wysyłam to co kliknięto) 1. Co można ulepszyć/usprawnić? 2. Czy idea (oraz tryby pracy portów) są poprawne? 3. Czy wartość rezystora jest odpowiednia? 4. Czy wartości w delay są odpowiednie czy jakoś...
Dzień dobry Dane przesyłam w taki sposób (atmega32->PC po RS232 (max232)- baud9600): [syntax=c] for(int i =0;(pom[i]!=0);i++) { sendChar(pom[i]); } [/syntax] Jak widać przesyłana jest tablica char (2-3 znaki, temperatura), funkcja sendChar wygląda następująco: [syntax=c] void sendChar(char data) //Wyślij 8bitową daną { while(!(UCSRA&(1<<UDRE)));...
Witam, Sprawa ma się następująco. Staram się podłączyć wyświetlacz od Nokii 5110 model PCD8544. Używam Atmega8A i zasilam ją 5V. Wyświetlacz zasilam 3V(z hakiem). Staram się wykorzystać sprzętowe SPI przy czym używam ISP do programowania mikrokontrolera dlatego skorzystałem z rady z tego linku: Niestety mimo zastosowania rezystora podciągającego linię...
[syntax=c] #define F_CPU 16000000UL #include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> #include <stdio.h> #include <math.h> #define adc #define VREF 5.05 #define ADCIN PA0 #define FOSC 1843200// Clock Speed #define BAUD 9600 #define MYUBRR FOSC/16/BAUD-1 volatile unsigned int usart_bufor_ind; //indeks...
Witam. Próbuję zaprogramować LED Cube w języku C, a mianowicie napisać na niego efekty wyświetlające cyfry na kostce, napisany program działa w dziwny sposób - proste efekty wyświetlają się prawidłowo w momencie kiedy program wykorzystuje jedną cyfrę, natomiast kiedy chcę wyświetlić kolejną cyfrę za pomocą tego samego, lub innego efektu kostka albo...
Kiedyś umieściłem na obecnie niedostępnej stronie and.elektroda.eu materiał o dekodowaniu sygnału DCF. Urządzenie potrzebne było w urządzeniu, które wymagało synchronizacji czasu w pomieszczeniu gdzie wyprowadzenie anteny zewnętrznej do GPS było utrudnione. Poniżej umieszczam treść oryginalnego materiału, który może być pomocny przy budowaniu urządzeń...
Cześć, Naskrobałem programik, który powinien mi wysyłać przez UART co sekundę 1 z 3 stringów(czy tam tablic charów bo to w C) ale coś się buntuje. Problem polega na tym, że nie przesyła mi wszystkich wartości tylko jakieś ochłapy i to niepełne. Pytanie brzmi czy to ja mam błąd w kodzie? Gdzieś w USART_SendString ? Czy może jest jakiś maksymalny rozmiar...
(at)ElektrodaBot Skończyłem na tym, że wgrałem ten kod /* Program realizujący obliczanie i wysłanie przez RS-232 wyniku funkcji kwadratowej y = 0.3187x^2 + 2x - 7 na podstawie x odebranego wcześniej także za pomocą RS-232. Szczegóły: http://mikrokontrolery.blogspot.com/... Mikrokontroler: Atmega8...
Witajcie, mam problem z pamiecia programu w uC atmega128, tak sadze. Moj program rozrół sie do dosc duzych rozmiarow bo zajmuje około 70kB pamięci kontrolera. Z kolei licznik programu(PC) ma rozmiar 16, więc wydawało by sie, że maksymalnie może dostawać sie do komórki pamięci o numerze 656535 B pamięci programu, i przy większej ilości zajmowanej przez...
ICL7107 zawsze jest przy wyświetlaczach numerycznych LED Zawsze, kiedy jest to woltomierz wykonany na układzie ICL... :P Ten ICL to woltomierz cyfrowy ze zintegrowanym driverem wyświetlaczy LED. A stosowanie woltomierza do wyświetlania kursu walut było by conajmnej nieporozumieniem :D równie dobrze można by dać mierniki wskazówkowe, albo magiczne oko...
Witam, chcialbym sie podlaczyc po ten topic gdyz mam pewien problem z obsluga DS1820 i DS18B20 z ATMega128 Mianowicie, po podlaczeniu w trybie 2wire (1 - GND, 2 - PinB.7/PinE.7 itp., 3 - Vcc 5V) do ATMega128 z kwarcem zewnetrznym 10MHz (innego uzyc nie moge) po wykonaniu komend w Bascom AVR: config 1wire= portb.7 dim rgn(8) as byte 1wreset wait...
A więc wniosek , że program to jedno , a sprzęt to ... drugie :D Heh ..no niestety a ja jakos olalem stroen sprzetowa myslac ze na defaultowych ustawieniach powinno smigac ;) Czyli telefon wysyła echo. W takim raznie niestety wysyla ...i wylanczyc sie go nie da ..bo nie przyjmuje ATE=0 ..... Bufor ..in , czy ..out jest buforem tzw. kołowym. mam rozumiec...
Witam. Próbuję uruchomić atmege8 + max232 do komunikacji z kompem. Kabel do komunikacj jest z przeplotem 1,8m. Gdy w uc wystawiam cały czas jeden znak na rsa to w terminalu leci ciąg takich samych znaków np. dla wystawianego 'a' (hex 61) terminal odczytuje <0>rr , obydwa r z akcentami (hex 00 E0 E0). Pełna powtarzalność zjawiska. Przy transmisji...
To nie będzie trudne. ogólny algorytm będzie jakoś tak: 1. wykryć zbocze SV i wyzerować licznik linii 2. wykrywać zbocza SH i inkrementować licznik linii 3. gdy licznik linii jest w przedziale 0-vfp (vfp - vertical front porch) generować "ciemność" 4. gdy licznik linii przekroczy vfp to sa to "linie z obrazem" 5. gdy licznik linii przekroczy vfp+lnum...