....przeniosłem się na atmega32.... .... Hmmm, przesiadłeś się na ATmega32 a kompilujesz pod ATmega328p :?: To są dwa "troszkę" różne procesory. A programator jak podłączasz :?:
Witam, mam zaimplementowaną w projekcie obsługę protokołu modbus (biblioteka freemodbus v1.5). Ten sam program uruchamiam na płytce testowej Xplained z ATmega 328P i komunikacją po RS232 przez wbudowany port eDBG - tu wszystko działa jak należy, zarówno tryb RTU jak i ASCII. Zegar 16MHz. Po przeniesieniu projektu na ATmega 32 z zegarem 7,3728MHz Modbus...
Rozdział "Absolute Maximum Ratings" https://ww1.microchip.com/downloads/en/D...
Niestety mój programator nie komunikuje się prawidłowo z Chipem. Nie mam możliwości wyboru ATmega328p. Wybrałem Chip ATmega32 ale podczas zapisu danych pojawia się błąd. Gdyby ktoś wiedział jak poradzić sobie z tym krokiem, prośba o komentarz :)
Według datasheet ATMEGA328p posiada możliwość taktowania z zegarem 20MHz, a ATMEGA32 można taktować tylko do 16MHz http://atmel.com/dyn/resources/prod_docu... Ponieważ ATMEGA328p jest szybszy od ATMEGA32 to może nie wyrobić się tylko na zakręcie.
Dokumentacja dotycząca podłączania kwarcu 32kHz http://ww1.microchip.com/downloads/en/ap... podaje że połączenia powinny być najkrótsze jak to tylko możliwe, przycisk z kondensatorem 100nF musiał byś odciąć, na schemacie widać że EXT_CLK łączy się z dwoma liniami drugiego procka, jak będą problemy ze wzbudzeniem kwarcu to połączenie też...
Rezultaty bez zmian niestety. Próbowałem jeszcze na ATMEDZE 644 i efekt ten sam. Mogę spróbować jeszcze na: ATMEGA8 ATMEGA32 ATMEGA328P Ale ATMEGI328P muszę przeprogramować wysokonapięciowo (czekam na DRAGONA) ponieważ przekalibrowałem im zegar i chodzą tak wolno, że żadnym programatorem poprzez ISP nie mogę się do nich dobrać :) Dzisiaj spróbuję na...
Panowie, program jest standardowy, sprawdziłem ich kilka. Pobrałem kilka działających z różnych stron i wszystkie uruchomiłem na atmega328p z powodzeniem. Te same programy nie ruszają z atmega32 (tzn ruszają ale nie wyświetlają). Więc nie jest to problem softwarowy. Pozostaje więc hardware. które poza procesorem jest identyczne jak przy uruchamianiu...
Co z rezystorami podciągającymi magistralę ?
Moim zdaniem to nie wian fusebitów. Trzeba szukać winnego gdzie indziej. Ja ustawiam tak samo jak autor (FF D9 FF) i u mnie działa na zewnętrznym kwarcu. I sprawdzałem to na dwóch procesorach z TME z 23 roku.
Nic się nie spali, sam w kilku projektach używam LCD na SPI i programuję je też po SPI. W jednym mam nawet LCD i CAN - obydwa na SPI + programowanie. Tak więc, działaj, projektuj, programuj bez obaw. Powodzenia !
Witam, jak widzę, używasz środowiska Arduino IDE. Przerabiałem ten problem, procesor uruchamia się z zegarem wewnętrznym RC. "Wypal/wgraj bootloader" - to ustawia fuse bity (nawet jak go nie używasz). Pozdrawiam
Dane do zapisania do pamięci FLASH wydobywa się ze skompilowanego pliku ELF, przy pomocy avr-objcopy , zarówno dla pliku HEX i binarnego. Makefile wygenerowany przez MS7 zwiera taki wpis: ihex na binary : [syntax=text]"...\avr-objcopy.exe" -O binary -R .eeprom -R .fuse -R .lock -R .signature -R .user_signatures "test1.elf" "test1.bin" [/syntax] Ale...
Dlaczego niezależnie od tego czy string wejściowy zaczyna się od "-" bądź nie, efekt jest ten sam: Jest to zgodne z opisem działania tej funkcji: " To determine the beginning and the end of a token, the function first scans from the starting location for the first character not contained in delimiters (which becomes the beginning of the token). " Ciekawe...
Jedyna zmienna, którą trzeba przechowywać, to old_A; można by zrezygnować z B, która jest używana raz, wstawiając read_B() zamiast B. I jest też sposób, by zrezygnować z A: porównujesz read_A() z old_A, jeśli się różnią, to zmieniasz old_A i zliczasz, kierunek według poprawionego old_A i read_B(). Przerwanie musi być na obu kierunkach zmian sygnału...
A jakie argumenty za tym że "nie warto"? Nie działa? Działa nieprawidłowo? Czy po prostu nie potrzebujesz tych dodatkowych funkcjonalności? A o typ uP pytam aby optymalizować koszty. Można kupić ATMEGA16A-PU za 11 i ATMEGA16-16PU za 32, lub ATMEGA32A-PU za 12,3 albo ATMEGA32-16PU za 29. Pomijając wersje ATMEGA328P-PU czy inne ATMEGA168
Tak kup sobie USBasp dobry tani programator z taśmą ISP Polecam gorąco sam go używam i nie mam problemu znajdziesz je na wszystkich portalach aukcyjnych,zaprogramujesz tym programatorem bardzo dużo układów i zasilisz płytkę bez problemu
Raczej nie ten sam - tym razem masz błąd połączenia z MCU.
Nie, wyciągasz jeden taki gold pin z obudowy i lutujesz do kabelka kolego, z całym szacunkiem, ale zastanowiłeś się co proponujesz? (może jeszcze termokurcz na końcówkach....) To jest dobry sposób dla szkół i wielu uczniów składających kilkukrotnie te same układy. Jeśli robi to jeden człowiek to czas i poświęcona praca nie jest tego warta. Primo: jeśli...
Mam pytanko czy musi byc to ta Atmega328P-20AU czy moze byc atmega32? Pytam bo mam pod reka tylko uP smd zwykla 32 pin, a i na zdjeciach jest chyba atmega32 - 40 pin. Na jednym ze zdjęć jest Atmega32-16PU bo na niej właśnie był zrobiony prototyp. Na schemacie masz Atmega328P-20AU i taką musisz zastosować. W prawdzie dużych różnic nie ma (Atmega32 ma...
Nie rozumiem, o co chodzi z tymi dziwnymi kombinacjami. Mikrokontroler ATmega328 zgodnie z [url=https://ww1.microchip.com/downloads... katalogową ma działać do 16 MHz. Pomiędzy XTAL1 i XTAL2 a masę powinno się wstawić kondensatory rzędu 22 pF. Łatwo to dolutować, ale trzeba...
Witam, zastosuj belkę tensometryczną, ponieważ jednak jak najtańszy dozownik wagowy jesteś raczej skazany na rozwiązania nieco "hobbystyczne", na przykład https://botland.com.pl/pl/czujniki-nacis... https://botland.com.pl/pl/czujniki-nacis... https://botland.com.pl/pl/czujniki-nacis...
Koledzy a w atmega328P jak ustawić zewnętrzny kwarc na 20MHz? Do tej pory pracowałem na atmega32 i tam Fusebit KLA987 miałem ustawiony na 111111. Nie wiem czy te same ustawienia przejdą w atmedze328? Tylko proszę o 100% odpowiedzi ponieważ nie da rady ewentualnie odblokować bądź zmienić procesora.
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...
Nie powinieneś mieć problemu z zaprogramowaniem: https://tosiek.pl/arduino-nano-with-atme... A kod z 328P jest kompatybilny z 328PB wg. tego dokumentu: https://www.pololu.com/file/0J1464/Atmel...
ATmega8 i ATmega328 mają dokładnie takie same wyprowadzenia i wystarczy użyć ATmega8 w eagle.
Z sprawnego MK-328 spróbuj odczytać wsad, jeżeli nie został zabezpieczony przed odczytem. Do sprawdzenia lub wylutowania element zabezpieczenia U3 (SRV05-4 SEMTECH)
Układy AVR zaprogramujesz za pomocą takiego programatora https://www.gotronik.pl/programator-isp-...
Atmega328P to wywala mi błąd. Dodano po 14 https://obrazki.elektroda.pl/4402533600_... To sobie zobacz https://www.youtube.com/watch?v=6axdc4hI... https://microchip.my.site.com/s/article/...
Wypróbuj ten kod: [syntax=c] #define F_CPU 16000000 #include <stdlib.h> #include <avr/io.h> #include <util/delay.h> //-------LCD------------------------ #define LCD_ADDRESS (0x7C) /* * LCD_commands */ #define LCD_CLEARDISPLAY 0x01 #define LCD_RETURNHOME 0x02 #define LCD_ENTRYMODESET 0x04 #define LCD_DISPLAYCONTROL 0x08 #define LCD_CURSORSHIFT...
https://obrazki.elektroda.pl/9601496700_... Jest mój kolejny metronom! Trzeci już na elektrodzie na przełomie parunastu lat :) Wszystkie z opcją TAP, a właściwie te dwa wcześniejsze tylko z tą opcją i prawdę mówiąc sporadycznie używane. Pierwszy z latającą linijką, drugi dość mały, przeciętne migadełko. Praktyka jednak i potrzeba (z...
Fullduplex czy multimaster? Jak multimaster, to raczej szedłbym w kierunku CAN. Slave jest slavem, dlatego że nie pytany, nie gada, a skoro ma odpowiadać na pytania, to jest halfduplex. Arduino i Nucleo w większości przypadków są źle zaprojektowane, to nie są płytki referencyjne, nie ma żadnych badań. Tam nawet nie ma jak dobrze masę wyprowadzić. Kiedyś...
Sytuacja się trochę rozwiązała. Gdy obciążyłem główne napięcie 36V rezystorem 360R na stałe to napięcie spadło do 33V ale za to na uzwojeniu tym pomocniczym ustaliło się 25V i jest odporne na obciążenia. Pozostała jeszcze sprawa dlaczego pomimo większej liczby zwojów jest niższe napięcie. Przy małym obciążeniu będzie małe wypełnienie, czyli nawet jak...
Robi za separacje składowej stałej, a dodatkowo jak procek stanie, to nie będzie płynął stały prąd w tą cele, nie wiem jak one na to reagują. Myślę że możesz przyjąć pojemność z przykładu, moim zdaniem częstotliwość filtra nie mniejsza niż pomiarowa. To i tak będzie brzydki przebieg, bo kondensator przeniesie wyższe harmoniczne, i tak będziesz musiał...
Poczytaj sobie jakiś poradnik o C, np. linkowany przez kol. dondu, bo nie robisz tego, co byś chciał, np. DDRD |= ~(1<<PD3); //Ustawienie pinu jako wejście nope, powinno być DDRD & = ~(1<<PD3);, bo swoją linijką ustawiasz jako wyjścia wszystkie inne piny, a PD3 zostawiasz nietknięte... Jako że po resecie DDRD=0, to możesz myśleć, że...
Nie musisz używać programowej emulacji UART, lepiej użyć sprzętowego.
https://www.mikrocontroller.net/attachme...
Pierwsza fotka z podanego tutoriala nie pokazuje prawidłowo podłączonego uC, należy podłączyć wszystkie piny VCC i GND, w Atmega328 są co najmniej 4. Tu na forum jest program AVR LAB++, spróbuj nim odczytać uC, jeśli zadziała wyłącz dzielnik ckdiv8, tak by uC faktycznie działał na 8MHz, a nie na 1MHz (w Arduino często nie działa wgranie fuse gdy uC...
Wykorzystaj odpowiedni nagłówek - wzoruj się na przykładzie z tego artykułu dokładnie czytając komentarze do kodu: http://mikrokontrolery.blogspot.com/2011... Poprawiłem wszystko co pisaliście. Niestety nie poprawiłeś: http://mikrokontrolery.blogspot.com/2011... choć przez przypadek...
U mnie nie działa... Sam nie wiem, podobno można to w łatwy sposób rozwiązać sprzętowo. No nic, będę dalej próbował. Przesudiuj te tut's: https://sites.google.com/site/qeewiki/bo... http://hekilledmywire.wordpress.com/2011... http://appusajeev.wordpress.com/2010/07/...
Są jakieś uniwersalne sposoby jak optymalizować programy, albo w jakiś inny sposób zaoszczędzić trochę miejsca? Jeżeli faktycznie program jest napisany w C++ (jak sugeruje tytuł wątku), to jest 1000 i jeden sposobów na jego optymalizację pod kątem rozmiaru kodu wynikowego ;) Niestety bez wglądu do takiego kodu, to może być taka ogólnikowa pogadanka...
Bity CS00 i CS02 od preskalera są w rejestrze TCCR0B, a nie TCCR0A. Masz preskaler na 0 więc timer nie zlicza.
Przebrnąłem przez ten kod :) Co do ogólnej organizacji kodu, to nie będę się wypowiadał, bo jest to rzecz subiektywna i nieco drażliwa ;) W mojej opinii nadużywasz typu float oraz operacji na tego typu zmiennych. W wielu miejscach można byłoby użyć typu uint32_t z odpowiednio skalowanymi wartościami - to nieco komplikuje kod, ale przynosi wymierne korzyści...
Rozumiem, że samo połączenie układów na schemacie jest ok natomiast niewykorzystane nogi mimo wszystko pozostawiać w powietrzu? Tak, z tym że Aref dobrze odsprzęgnąć kondensatorem 100nF do masy tak samo jak VCC procesora.
31.07.2010 - AKTUALIZACJA #3 Wsad 2.04: -poprawiono kilka błędów -dodano obsługę nowych procesorów, łącznie 106 (138) -zmiana wewnętrznego zegara na 1MHz, baudrate UARTa to 2400bps UWAGA, FUSEBITY! Jeśli uaktualniasz wsad do 2.04, koniecznie zmień wartość wewnętrznego generatora na 1MHz. Jeśli wykonujesz układ od początku, jedyną rzeczą jaką musisz...
No, to tylko część modyfikacji, trzeba przerobić cały plik na "arduinowy" bo nie widzi że to jest dla LGT tylko robi jak dla Atmega328P, a on nie ma takich rejestrów. No i resztę funkcji, bo odczyt musi być też między ustawieniami rejestrów: https://obrazki.elektroda.pl/8960353100_... Może inicjalizacje IO można zostawić poprzednią...
ATmege podpinałem w oparci o ten schemat : http://obrazki.elektroda.pl/3455178500_1... I raczej ją dobrze podminam robiłem to kilka razy od nowa. Dodatkowo wklejam kod z boards.txt Arduino IDE może gdzieś tu jest błąd : atmega328jsz.name=ATmega328 (internal 8 MHz) atmega328jsz.bootloader.low_fuses=0xe2 atmega328jsz.bootloader.high_fuses=0xd9....
Za małe SOA tranzystorów. Zakładam, że +15V jest stabilne. Jako rozwiązanie, proponuję dodać dodatkowo tyrystor (jeden) równolegle do tranzystorów, to może pomóc choć tylko we włączaniu.
Nie chcę znów zakładać nowego tematu ale mam szybkie pytanie. Standardowo używając pinów cyfrowych podłącza się do nich coś a to następnie trafia do masy. Czy mógłbym to podciągnąć zamiast do masy do zasilania i teraz jak na pinie cyfrowym będzie 0V to prąd popłynie. Wydaje się może mieć to znaczenie bo w przypadku expanderów ma to znaczenie https://www.nxp.com/docs/en/data-sheet/P...
Wrzucam kod dla Attiny13A: ilość próbek częstotliwość wyjściowa 356 49.3 355 49.4 354 49.65 353 49.8 352 50 Wygenerowane przebiegi na oscyloskopie: https://obrazki.elektroda.pl/4382277800_... na skraju cykli https://obrazki.elektroda.pl/4450814000_... Zbliżenie sygnałów 50Hz (brak kolizji, czyli obu sygnałów w stanie...
podłączyłem to w ten sposób A0 z czujnika ==> pin23 procesora D0 czujnika ==> pin4 Vcc czujnika ==> GND stabilizatora LM7805 Vcc ==> +5V stabilizatora diody ==> pin5,6,11 procesora +rezystor do masy zgodnie z pinoutem atmegi diody zasilania czujnika świecą się prawidłowo No więc, błędnie to podłączyłeś: A0 z czujnika ==> pin23 procesora // tu jest...
Witam. Muszę zrobić swoją płytkę z atmega328p ( załącznik). Pytanie czy dobrze to ogarnąłem? Czy wszystkie 5v i Gnd muszą być z sobą połączone? Nie masz żadnych szans zrobić/zaprojektować i wykonać lepszsą , a w najgorszym przypadku chociażby porównywalną własną płytkę niż gotowa płytka 'Arduino Pro-Mini'. Za same części (elementy) zapłacisz drożej,...
Z tego, co widzę, to brakuje kondenstora 100nF pomiędzy +5V, a GND. Przy programowaniu upewnij się, że podajesz +5V na VCC i AVCC. W USB ASP ustaw zworkę Slow SCK.
Podejrzewałbym problemy z zasilaniem w trakcie programowania. Przeprogramowują Ci się w sposób niezamierzony fusebity i dlatego układ przestaje być widoczny.
Da się, stosując rozwiązania sprzętowo-programowe. Przy czasach rzędu 1s o jakich wspominałeś nie ma problemu. Timer generujący pwm tez może generować przerwanie w określonym momencie, więc można różne cuda, w tym zmianę wypełnienia realizować w obsłudze przerwania. Tu generalnie nie ma znaczenia jaki masz procesor, bo każdy timer działa mniej więcej...
Tłumaczenie pierwszego kodu. W drugim to wiadomo, że brak biblioteki ;) Mogłem się gdzieś machnąć bo pisałem w przerwie pomiędzy innymi zadaniami. Dodałem tam sobie funkcję b w funkcjach mogę deklarować Local`s które nie są później potrzebne w Global`s. [syntax=vbnet]$regfile = "m2560def.dat" '8K SRAM | 4K EEPROM $crystal = 16000000 $hwstack = 256 $swstack...
Używasz Atmel Studio 7, ono ma kompilator, najnowszy. Do Usbasp brakuje Ci tylko avrdude. O połączeniu AS7 z avrdude masz tutaj: http://mikrokontrolery.blogspot.com/2011... Bardzo dawno takie połączenie stosowałem , nie wiem czy dalej jest aktualne dla AS7 ?
Zawartości wyświetlacza nie ma sensu zmieniać częściej niż 2 razy na sekundę, bo i tak obserwator nie odczyta częstszych zmian wartości. Rzadko kiedy jest sens używać przerwania ADC. Typowo w przerwaniu timera odczytujesz i przetwarzasz poprzedni pomiar ADC, a następnie uruchamiasz nowy (kolejnego kanału), który przetworzysz w następnym wywołaniu przerwania...
Czy można programować Atmege 328P na w/w płytce programatorem usbasp przez złącze isp znajdujące się na płytce ? Da się, ale po co?
Nic nie robiłem to czysty ardunio nano Więc jeżeli to klon to zapewne ma stary bootloader, który zawiera błąd z ustawieniem WDTON. Powinieneś zacząć od wgrania optiboot do tego Nano.
Natychmiast wyłącz i pokaż zdjęcia jak ją podłączyłeś.
Tak. Ale będziesz mierzył napięcia od 0 do 15V. Jeśli chcesz zabezpieczyć mikrokontroler przed wyższymi napięciami, to warto na wejściu PC5 (między wejściem i masą układu) dać transil lub diodę zenera na 5V - 5.5V.
Wg mnie dobrze kombinujesz z buforem statycznym. Jeśli masz tylko dość pamięci to powinieneś pójść tą drogą, a odpowiedź na Twoje pytanie jest dość proste, tak mi się wydaje. Zrób po prostu funkcję, która będzie zwracała wskaźnik do Twojego bufora, coś na kształt: [syntax=c] uint8_t * buffer_get_ptr(void) { return UART_RxBuf; } [/syntax] W pliku nagłówkowym...
Z każdym przyciskiem skojarz jedną zmienną, która będzie zawierała stan licznika timera, w chwili wykrycia jego naciśnięcia. W kolejnych przerwaniach overflow sprawdzasz: 1. czy przycisk jest ciągle naciśnięty, 2. jeśli 1. jest prawdą to czy różnica pomiędzy licznikiem timera a wartością zapamiętaną w skojarzonej z przyciskiem zmiennej jest większa...
Witam. Rozwiązania mogą być dwa. 1. W ścieżkach systemowych "PATH"; ścieżka dostępu do WinAvr powinna być zapisana przed ścieżką dostępu do BC++ Builder. 2. Po zainstalowaniu BC++ Builder, wyinstalować WinAvr, reset komputera, ponownie zainstalować WinAvr.
Skoro Autor nie przewiduje jednoczesnego wykorzystania BT i FTDI nie ma sensu robić tego programowo. http://www.billporter.info/2011/06/26/ho...
Mam problem z tym że wg schematu na pin 20 powinienem podać 5V ale na drugim schemacie, pokazującym jak wszystko podłączyć nie widze tam dołączonego żadnego źródła zasilania Pin 20 to zasilanie części analogowej (ADC itd.). Według dokumentacji, nawet jeśli się nie używa funkcji analogowych to pin musi być podłączony do tego samego napięcia co zasilanie...
W obu plikach nagłówkowych, lcdvtwi.h oraz twi.h brak jest "zabezpieczenia" przed ich dołączaniem więcej niż jeden raz. Jak to należy zrobić, jest opisane np. tutaj: https://pl.wikipedia.org/wiki/Plik_nag%C...
DDRD =_BV(3); DDRD =_BV(5); DDRD =_BV(6); DDRB =_BV(1); DDRB =_BV(2); DDRB =_BV(3); Nie działa to tak jak byś chciał. Clasyczny błąd "=" zamiast "|="
Pomijając słuszne uwagi przedmówców...ja zauważyłem masę stale podpiętą do pinu RESET mikrokontrolera. Myślę, że nie chodzi o to by mikrokontroler cały czas niezależnie od okoliczności znajdował się w stanie resetu. A tak całkiem... to schemat narysowany jest fatalnie...trzeba dobrze wytężyć wzrok i umysł by coś z niego odczytać. Na przyszłość proponuje...
przez ft232 z resetem atmegi podpiętym do pinu DTR w ftdi. No tak, to może się nie udać. DTR z ft232 powinien być wpięty przez kondensator 100n do RESET atmegi. https://obrazki.elektroda.pl/2053622700_...
Witam, Muszę zmierzyć poziom ceczy 0-100% Myślałem nad czujnikiem CPPA-R1... 4-20mA (http://www.eiewin.com.pl/testjoomla/ind... Mam jednak problem z układem pomiarowym. Jak najlepiej wykonać pomiar tego typu? Dodam, że problemem jest konieczność zasilania bateryjnego, stąd chęć usypiania uC i pomiar...
Ja bym nie lutował terminatora na RS-485. Przy prędkościach rzędu kilkudziesięciu kilobodów (powiedzmy do 115200) nie jest on potrzebny. Przy 38400 nie miałem żadnych problemów nawet na ok. 1000m przewodu.
może prosciej jest skorzystać z przerwania odbiornika UART - jest ono generowane w chwili odebrania bajtu danych przez UART To nie jest prościej, to jest jedyne sensowne rozwiązanie.
+ jednak program. I zdjęcia tego panelu. Mocno podejrzewam, że jak coś się wiesza, to program lub PCF. Możesz też podłączyć LEDa (z rezystorem) np. pod PB2 (do czego ma służyć R5?) i dodać zapalanie i gaszenie w newralgicznych miejscach - będziesz bardziej wiedział, co się dzieje. Albo napisać program testowy, który będzie w pętli przełączał te przekaźniki...
Masz parę błędów w programie. Na pierwszy rzut oka: 1. Operacja y*y+z*z może doprowadzić do przepełnienia typu int. 2. Deklarujesz typy o tych samych nazwach w nagłówku i w implementacji => czytaj strzał w stopę. 3. Tego typu deklaracja: nie rezrwuje żadnej pamięci na bufor poza jednym bajtem. W związku z tym operacja: [syntax=c]LCD_WriteText(itoa(wartosc,tab...
Zablokować to z pewnością nie zablokujesz wgrywając nowy wsad.
Tak jak kolega (at)zycior pisze, wewnętrzny oscylator możliwy dla 328P to 128KHz lub 8MHz, jeżeli chcesz 4MHz to tylko zewnętrzny oscylator. Pozdr
Witam Strzelam: za cienkie ścieżki lub przewody doprowadzające zasilanie do LED i MOSFET? Sprawdź ustawienia fusebits BODLEVEL w procesorku.. Powinny być wyłączone lub ustawione na najwyższe napięcie.
Darmowy Extreme Burner i nic więcej Ci nie potrzeba: http://extremeelectronics.co.in/avr-tuto... Zaglądnij także tutaj: http://mikrokontrolery.blogspot.com/p/sp... a kolejne pytania zadawaj w dziale mikrokontrolerów: http://www.elektroda.pl/rtvforum/forum12...
(at)rafikAVR SPI jest też wspierane programowo w Linuxie. Na moje oko można tam zmienić te GPIO.
Opis konstrukcji Tester powstał w celu nauki rysowania schematów w Eagle oraz nauki podstaw programowania mikroprocesorów. Dodatkowo jest małych rozmiarów. Po raz pierwszy zastosowałem elementy SMD. Schemat: https://obrazki.elektroda.pl/9539214500_... Widok PCB z EAGLE: https://obrazki.elektroda.pl/8189126400_... A...
Spaleniem - jeśli dobrze zabezpieczysz pin to nie. Niemniej pin ma słabą wydajność prądową i mosfet będzie się wolniej przełączać a co za tym idzie - grzać. Lepiej dać driver między uC a mosfeta.
Co do programu na megę328: 1. Niepotrzebnie dołączasz sfr_defs.h 2. O F_CPU w kodzie było już miliony razy na forum. 3. Dla ułatwienia obliczeń prędkości polecam util/setbaud.h 4. W rejestrze UCSR0C ustawiasz bity, które po resecie są ustawione. 5. W UCSR0B nie włączasz przerwania od odbioru (bit RXCIE)! Dodatkowo niepotrzebnie stosujesz sumę bitową...
Bity 6 i 7 portu B są podłączane do tych samych pinów ATmegi co rezonator kwarcowy. W takiej konfiguracji jak w Arduino (taktowanie z pomocą rezonatora) nie mogą pełnić funkcji wejścia-wyjścia, a wszystkie odpowiadające im bity w rejestrach są odczytywane jako 0. Dokładniejszy opis tej kwestii znajdziesz w dokumentacji ATmegi328 ( bitów portu ATmegi...
Nie zapominaj, że kondensator rezonatora to 12-22pF, czasami 22pF może być za dużo (pojemność ścieżek), dobrze jest mieć gdzieś pod ręką również 18pF.
Mogę się mylić bo dawno nie używałem DS1307, zamiast niego używam kompatybilny DS2331, niemniej zmierzam do puenty. Ten drugi nie rusza dopóki nie ustawisz w nim jakiegoś czasu. Spróbuj, po prostu, użyć tej funkcji SetTimeDate() Jeśli nadal nie będzie chciał ruszyć to przyjrzyj się temu rezonatorowi kwarcowemu. W przypadku jego uszkodzenia można się...
1) Ustaw w procesorze BODLEVEL na niski np. 2.7V 2) VCC do procesora podłącz z głównym zasilaniem przed diodę schottkiego, przy VCC procesora daj też kondensator np 220uF/16V. Chodzi o odcięcie napięcia zasilania procesora od pozostałej części układu. Gdy załączy się 16-sty przekaźnik i napięcie spadnie w dół na chwilę, to dioda schottky i kondensator...
Kolega R-MIK ma racje. Natomiast ja się zdziwiłem. Zazwyczaj nie czytałem/nie zapisywałem flagi związanej z przerwaniem tylko pisałem obsługę przerwania gdzie flaga sama była kasowana. Jako "Appendix" chciałbym przypomnieć, bo może kiedyś kolega użyje Xmegi serii E, że tam wejście w procedurę obsługi przerwania nie kasuje flagi "sprzętowo" czyli samym...
Cześć W Eclipse możesz prosto zmienić bez tego badziewia. Ma możliwość przyjaznego ustawienia fusów i zaprogramowania.
Moim zdaniem, matematycznie rzecz biorąc - nie ma sprzeczności. Traktujesz bity z tabelki jak liczbę: 0, 1, 2 lub 3. Cztery do potęgi 0, 1, 2, 3 to odpowiednio: 1, 4, 16, 64. Po prostu są to nieco inne formy zapisu tego samego.
Oto odpowiedź: http://mikrokontrolery.blogspot.com/2011...
Wystarczy ustawić kontrast.
Zobacz jak Radosław Kwiecień rozwiązał problem podpięcia wyświetlacza z sterownikiem HD44780 dowolnym przypisaniem linii sterujących. Zrób tak samo tylko dla większej ilości linii sterujących.
W trakcie wykonywania tego podprogramu zostało zgłoszone przerwanie zewnętrzne na nóżce int1 atmega328p. Czy atmega328p przerwie wykonywanie podprogramu nóżki int0 Zależy jak zadeklarujesz przerwanie, czy ISR bez atrybutu lub z atrybutem ISR_BLOCK albo jako SIGNAL czy ISR z atrybutem ISR_NOBLOCK lub jako INTERRUPT. Jeśli przerwanie w przerwaniu jest...
Obawiam sie że atmego bez naprawde sprytnie napisanego softu jest po prostu za słaba do tego celu. Wez po uwagę że float mnożenie to ok 2980 taktów zegara przy zmniennych typu volatile. Dla porównania. Dzielenie na pewno więcej. Dane dla innych typów danych: uint8 => 19 cycles uint16 => 24 cycles uint32 => 103 cycles int8 => 37 cycles int16 => 33 cycles...
No jeśli Autor chce kupować to tak - polecam zagraniczne serwisy aukcyjne lub lokalne (nieco drożej ale w 2 dni). Ale może Autor koniecznie chce to zbudować sam ;)
Rozumiem, że Kolega eksperymentuje z syntezowaniem dźwięków. Jeżeli tak, polecam test barwy (jakości) dźwięku o tej samej częstotliwości, ale różnych kształtach przebiegu. Najłatwiej będzie Ci wygenerować sinus, trójkąt i prostokąt. Posłuchasz, zrozumiesz :-) To oczywiście tylko ten najprostsze przebiegi, dźwięk naturalny ma o wiele bardziej złożoną...
Te Waity do diody Led żeby patrzeć czy program się zawiesił nie są szczęśliwym rozwiązaniem dla programowego portu :D Zobacz tak. Dioda błyśnie jak coś odbierze i oczywiście wyśle Ci to drugim portem software`owym. [syntax=vbnet]$regfile = "m328pdef.dat" $crystal = 8000000 $hwstack = 32 ' default use 32 for the hardware stack $swstack = 10 ' default...
Fusebit C - Divide Clock by 8 Enabled - oznacza włączony podział taktowania przez osiem.
ds18b20 atmega328p atmega328p bootloader atmega328p wgrywać
wzmacnianie magnesów polska klawiatura czujniki listwy
mazda falują obroty mazda falują obroty
Podłączenie PMS7003 do Arduino GIGA - Programowanie i Komunikacja Schemat płyty głównej Lenovo G580 - gdzie znaleźć?