Posprawdzaj dobrze dokumentację. Czasami różnice są dość znaczne. Na przykład Atmega644P ma 2 USARTy, a Atmega644 tylko jeden.
Według dokumentacji: Between ATmega644 and ATmega644P some register bits has been added, but none of the existing bits has been removed, nor moved to different locations. Oznacza to że żadne z bitów rejestrów nie są przeniesione w inne miejsce czyli program powinien ruszyć bez problemów.
Dobrze piszesz, wersja testowa mkAVRcalculator jest bardzo ograniczona. Udostępniona jest tylko Atmega8. W wersji pełnej są wszystkie procesory Atmela. A więc jest Atmega644, Atmega644p, Atmega1284, Atmega1284p i wiele innych. Program jest bardzo wygodny w stosowaniu, więc zakup licencji bardzo szybko się zwróci.
Witam Wszystkich. Czy może mi ktoś wyjaśnić czy Atmega644V to jest to samo co Atmega644? Czy one mają takie same sygnatury? Ponieważ mam 644V (QFN) i chciałbym sobie zrobić z niego Arduino przy zewnętrznym kwarcu 8Mhz. Atmega644 w TQFP ma tak samo wyprowadzenia jak Atmega644V QFN. Proszę o rozjaśnienie sytuacji.
Strasznie stary ten Win AVR-2007r. Nie wiem, czy były wtedy ATMEGA644 i czy ten WinAVR je obsługuje.
Witam Jak ustawić w ATMEGA644 fusy żeby pracował na zewnętrznym kwarcu 16Mhz Do programowania używam bascoma
Układ specjalizowany wysyła tylko z prędkością 1200b Dla 1200 bodów: Atmega8515 -> terminal PC - OK; Atmega8515 <- terminal PC - OK; Atmega644 -> terminal PC - OK ; Atmega644 <- terminal PC - OK; układ specjalizowany -> terminal PC - OK; układ specjalizowany <- terminal PC - niemożliwe do zrealizowania; Atmega644 < - układ specjalizowany...
Swoją przygodę z Arduino zaczynam od takiego oto błędu po kliknięciu "Zweryfikuj": Arduino:1.8.2 (Windows 10), Płytka:"Arduino Nano, ATmega328" avr-g++: error: cannot access device-specs for 'atmega328p' expected at 'device-specs/specs-atmega328p' avr-g++: note: devices natively supported: ata5272 ata5505 ata5702m322 ata5782 ata5790 ata5790n ata5791...
1. No ale tu blokujesz działanie całego procesora na niepotrzebnie długi czas. Przy 9600 nadanie 1 bajtu to wieczność. Procesor może wtedy zatańczyć kankana. I to 2 razy ;) 2. Bo można to szybciej zapisać jako: "\r\n" w ciągu formatującym wyświetlanie liczby (printf) 3. Oj wygląd się liczy. I to bardzo. Jak napiszesz program liczący tysiące linijek...
tutaj jest cały kod: [syntax=c] #include <avr/io.h> #define F_CPU 10000000 #include <util/delay.h> int main() { int8_t i; int8_t k; int8_t m; int8_t n; unsigned char liczba_LED [10]={0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90}; DDRB = 0xFF; DDRD = 0XFF; DDRC = 0xFF; for(;;) { for(i=0; i<=9; i++) { PORTC = 0xC0; _delay_ms(10);...
A, o to chodzi ? : $ ../ShowPartCoreVersions Include directory "~/Devel/AVR/AvrAssembler2-2.1.42/A... exist ATtiny10 : Core version : AVR8L_0 ATtiny20 : Core version : AVR8L_0 ATtiny4 : Core version : AVR8L_0 ATtiny40 : Core version : AVR8L_0 ATtiny5 : Core version : AVR8L_0 ATtiny9 : Core version...
witam jestem jednym z tych co Mirkowi zgłaszali problem "PA" - dokładnie 48PA ale tyczy się to chyba i innych np 8PA itp. o których obsługę przy okazji proszę ;) zainstalowałem nowy "MKAVRkalkulator" i wpisy do avrdude. dobra robota Panowie :) "kalkulator nie rozpoznaje procka - trzeba wybrać ręcznie (jak chyba wspomniano) ale wreszcie można zmienić...
Mam jeszcze do kolegów takie pytanie, czy ten programator obsłuży procesor atxmega128a1. Znalazłem gdzieś na zagranicznym forum, że AVR Studio32 i Avr Dragon obsługują te procesory. Ale czy wtedy działa programowanie przez JTAG, ale czy JTAG jest domyślnie włączone? bo dla tych procesorów nie ma PDI przez AVRdragon I wcale nie ma tak ubogiej listy wspieranych...
avrdude -P /dev/ttyUSB0 -p m328 -c usbasp -e -U flash:w:eth_rem_dev_tcp.hex avrdude: AVR Part "m328" not found. Valid parts are: t10 = ATtiny10 [C:\WinAVR-20100110\bin\avrdude.... t8 = ATtiny9 [C:\WinAVR-20100110\bin\avrdude.... t5 = ATtiny5 [C:\WinAVR-20100110\bin\avrdude....
Niestety, ale po w bazie mam tylko Valid parts are: t10 = ATtiny10 [C:\WinAVR\bin\avrdude.conf:... t8 = ATtiny9 [C:\WinAVR\bin\avrdude.conf:... t5 = ATtiny5 [C:\WinAVR\bin\avrdude.conf:... t4 = ATtiny4 [C:\WinAVR\bin\avrdude.conf:... ucr2 = 32UC3A0512 [C:\WinAVR\bin\avrdude.conf:...
W tym problem ze ja tylko mam usbasp jest może inny sposób próbowałem w Programmers Notepad ale mam błąd: Ze atmega328 nie może być znaleziona. Może ktoś zrobić schemat połączeń albo wysłać mi linka jak sprawdzić układ ? Taki kod mi wyświetla Programmers Notepad kiedy próbuje programować: > "make.exe" program avrdude -p atmega328 -P usb...
Microsoft Windows XP [Wersja 5.1.2600] (C) Copyright 1985-2001 Microsoft Corp. C:\Documents and Settings\p4>avrdude -c? Valid programmers are: c2n232i = serial port banging, reset=dtr sck=!rts mosi=!txd miso=!cts [C:\Win AVR-20100110\bin\avrdude.conf:876 ... dasa3 = serial port banging, reset=!dtr sck=rts mosi=txd...
Czy te układy są jakieś inne? No to chyba oczywiste że są inne ;) ale nie pod względem programowania przez ISP. Ustaw w programatorze zworkę SLOW_SCK i przestaw sobie fuski na taktowanie 8MHz to ci ruszy i będzie działać normalnie. Tylko pamiętaj, że jeśli chodzi o wnętrzności procka to innym prockiem jest ATmega644 a innym ATmega644P.
Jak myślisz, gdyby procesor mógł działać szybciej, to producent z czystej złośliwości umieszczałby zaniżone parametry w nocie katalogowej? Skoro pisze, że max 10 MHz, to znaczy, że tyle gwarantuje. Możesz sobie oczywiście popędzać to szybciej, ale bez gwarancji, że procesor będzie działał w każdych dopuszczalnych notą warunkach.
bo nie zauwazylem ze ona go ustawiła nie wiadomo po co Nie właczaj ADLAR bo on przesuwa w lewą stronę ... wynik Właśnie o tym pisałem w poście, który skomentowałeś: proponuje nie pisac niezbyt przemyslanych postów no tak, to jest uwzględnione, wyswietlam ( odczytuje) tylko wynik ConversionResults Czy jesteś tego pewna? Koledze Piotrus_999 chodzi o...
Skądże. Jak najbardziej jest opcja >8MHz. Fuse Low = 0xFF.
Przenieś Enable Pcint0 i Enable Pcint3 zaraz przed Enable interrupts, albo zobacz co sie stanie jak skasujesz flagi tych przerwań. PCIFR.PCIF0 = 1 PCIFR.PCIF3 = 1
Jeżeli rozrzut oscylatora rc mieści się w zakresie 2% i przyłożymy się do tego żeby w warunkach normalnych być jak najbliżej środka to układ z dużym prawdopodobieństwem będzie działał poprawnie bo błąd generatora przekłada się 1:1 na błąd uarta a ten w zakresie +/- 2% powinien działać prawidłowo i nawet jeśli trafi się sztuka która ma odchyłkę można...
To może spójrz na drugie co ci się rzuci w oczy? Supported devices: ATxmega128A1, ATxmega128A3, ATxmega192A3, ATxmega256A3, ATxmega256A3B, ATxmega64A1, ATxmega64A3, ATxmega128D3, ATxmega16A4, ATxmega16D4, ATxmega192D3, ATxmega256D3, ATxmega32A4, ATxmega32D4, ATxmega64D3, ATmega128A, ATmega164A, ATmega164PA, ATmega165PA, ATmega169PA, ATmega16A, ATmega324A,...
ADCSRA |= (1<<ADSC);
Podejrzewałem, że coś zajmuje czas uC, myślałem, że to może printf, ale skoro ujawniłeś, że uC "robi mnóstwo innych rzeczy", to tam szukaj przyczyny. po prostu coś zajmuje mu te 200 ms.
≈0,3mA na dzielniku R10+R43 to święta racja, ponieważ tu nie są potrzebne żadne prądy, a tylko dzielnik napięcia dla ADC więc zwiększę opory, Inne spojrzenie na dzielnik. http://obrazki.elektroda.pl/3298128800_1... Pin portu ustawisz tuż przed pomiarem na zero ( dokładasz parę omów ) , po czym wracasz do jedynki bez podciągania...
Masz podawane złe długości pól. Skoro odwołujesz się np. do pola okrążenia typu DANE_ZAWODNIKA to nie możesz robić sizeof(DANE_ZAWODNIKA) bo to nadpisze ci kolejne pola, powinno być sizeof ale pola okrążenia. Takich błędów masz więcej. Definicja: DANE_ZAWODNIKA numer_zawodnika_tab[sizeof(DANE_ZAWODNIK... też na oko jest bez sensu. Bo robisz tablicę...
A samo Buf też jest volatile? W TWDR mastera masz adres slave, bo po prostu master nic nie odebrał. Jesteś pewien, że slawe wchodzi w tryb slave transmit (ST) wielobajtowy? Masz sprzętowy debugger? Jakie są stany rejestru stanu na masterze i slave po kolejnych bajtach? Czysty kod przykładu, bez żadnych modyfikacji działa?
Spróbuj tak: [syntax=c] #include <avr/io.h> #include <util/delay.h> #include "HD44780.h" #include <stdlib.h> #include <string.h> #include <avr/pgmspace.h> int main(void) { char *LINE = PSTR("Jakiś tam sobie tekst"); char i=0; LCD_Initalize(); LCD_Clear(); LCD_GoTo(0,0); for(i=0;i<10;i++) { LCD_WriteData(pgm_read_byte(LINE+i));...
Witam. Listę starych procesorów Atmela mam [syntax=c]#if (defined(__AVR_ATmega1284P__) || defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284PA__) ||\ defined(__AVR_ATmega644__) || defined(__AVR_ATmega644A__) || defined(__AVR_ATmega644P__) || \ defined(__AVR_ATmega644PA__) )[/syntax] A jak są zdefiniowane te nowe AVR128 Można poprosić o listę lub...
Mógłbym jeszcze prosić o podpowiedź odnośnie wykrycia ciągu znaków, pojawiającego się na uarcie? :) Tak, zastosuj bufor cykliczny do odbioru, a później w przerwaniu badaj wystąpienie albo ilość wystąpień znaku 0x0d czyli (ENTER) .... wtedy będziesz wiedział ile przyleciało stringów do bufora i kiedy można je w całości ładnie odczytać.
Oczywiście, że w tym ukłądzie będzie gubił impulsy. Nie wdając się w szczegóły, na około kasujesz ekran i wyświetlasz ponownie wszystko. Nie zauważyłeś, że napisy mają kiepski kontrast? Zrób tą pętlę tak, aby wyświetlał licznik tylko wtedy gdy się zmieni. Zobaczysz, że a) AVR będzie się nudził, b) przestaniesz gubić impulsy.
Wejscia atmegi mają bufory schmitta, więc te krzakowate czasy opadania raczej nie będą przeszkadzać w samplowaniu bitów. Poza tym baudrate 9600 to pierwsza prędkość slimacza i tym bardziej caly uart powinien po prostu dzialac prawidlowo.
Tools > Open Disk... [F9] Physiclal Media
1. schemat. 2. komentuj każdą linię kodu, byśmy wiedzieli co chciałeś nią osiągnąć. Gdybyś to zrobił zauważyłbyś już dawno, gdzie leży Twój błąd. ... czekamy. EDIT: Dodałem Ci 25 punktów, bo masz zero, a mogą się przydać :)
Dla konfiguracji resetowania się watchDoga po 4 sekundach : Mcusr = &B00000000 'Zerowanie rejestru aby wyłączyć bit 3 czyli WDRF. 'Dokonywanie jakichkolwiek zmian w WatchDogu musi dokonywać się w ściśle określonej sekwencji wpisów do rejestru 'WDTCSR. Jako pierwszy krok trzeba zrobić wpisanie wartości 1 do bitu numer 4 nazywanego WDCE.Pozostałe bity...
Wszystko co trzeba jest w dokumentacji: 1. Zmiana kanału: When changing channel selections , the user should observe the following guidelines to ensure that the correct channel is selected: • In Single Conversion mode , always select the channel before starting the conversion. The channel selection may be changed one ADC clock cycle after writing...
Programator masz sprawny, ATmega też jest sprawna; brak ci pliku w Bascomie o symbolu m644Pdef.dat. Musisz go wziąść z wersji Demo jakiejś nowszej od tej wersji, której używasz i skopiować do katalogu w którym masz zainstalowany Bascom.
Jeżeli posiada ISP to tak, ale skoro to atmega to musi mieć :)
Tak.
Ten listing wygląda znacznie lepiej, nie jest to może arcydzieło, ale działa i mieści się w mikrokontrolerze, który kolega wybrał, więc gratuluję . Można jeszcze popracować i coś tam wyciąć dla własnej satysfakcji, ale nie zmienia to faktu, że kolega samodzielnie na podstawie wskazówek kolegów dokonał udanej modyfikacji kodu programu, więc gratuluję...
To Twój post musisz włączyć przerwania. Mi się zdarza zapomnieć własnie dla jakichś małych kodzików testowych bo w normalnym kodzie najczęściej przerwania są włączone. Dla wewnętrznego rezonatora (niezalecane) pamiętaj o wyłączeniu CKDIV8 albo poprawnego zadeklarowania prędkości bo dla niej kompilator wylicza UBRR. W swoim temacie poprzednim masz link...
Dławik źle, PR od kontrastu źle.
;-) Cóż, a nie mówiłem... Co do sprawdzania czy pilot działa (tzn. czy cokolwiek się dzieje) wystarczy jakakolwiek kamera czy byle jaki aparat. Wystarczy tylko skierować pilot na takie urządzenie i zobaczymy w aparacie normalnie tak jakby dioda normalnie świeciła, gdyż matryce w aparatach są wrażliwe na światło IR ;-) PS. pilot mógł nadawać np. w RC6,...
Witam. Polecam stronkę do przestudiowania: https://loee.jottit.com/rfm12b_and_avr_-...
Konwerter np. Digitus DA-70157, do tego Realterm lub Teraterm.
Przez te 5 minut, serwer oczekuje aż wyślesz dalszą część zapytania. :) Wysyłasz: "GET /~test HTTP/1.1" , &H0D , &H0A "Host: 192.168.1.241" , &H0D , &H0A a powinno być: "GET /~test HTTP/1.1" , &H0D , &H0A "Host: 192.168.1.241" , &H0D , &H0A &H0D , &H0A
Kod, który pokazałeś wrzuciłem na zestaw testowy z Atmega644P i działa tak jak powinien. Co prawda na kwarcu 16MHz, ale miganie diodą występuje kilka razy na sekundę. Pobawiłem się też wartością OCR1A i zachowuje się zgodnie z oczekiwaniem. Zwiększenie OCR1A zwalnia miganie, zmniejszanie przyśpiesza. Powinieneś zatem szukać błędu gdzieś indziej, w sprzęcie,...
Wyeliminuj delay(40),sprobuj zwiekszyc bufor,zmien na if((pos... else if((pos...
Witam. Ustaw prawidłowy scalak powinno być : $regfile = "m644pdef.Dat"
bascom atmega644 atmega644 programator atmega644 timer
ekspres delonghi grzałka rs232 zasilanie diody błędny identyfikator komputera
siemens sn636x01ke radio podofo 7018b
Lokalizacja przycisku reset w piecyku Beretta Junior Siła dociągania półbloku Renault Master 2.8 dT