Fórum témák
» Több friss téma |
WinAVR / GCC alapszabályok: 1. Ha ISR-ben használsz globális változót, az legyen "volatile" 2. Soha ne érjen véget a main() függvény 3. UART/USART hibák 99,9% a rossz órajel miatt van 4. Kerüld el a -O0 optimalizációs beállítást minden áron 5. Ha nem jó a _delay időzítése, akkor túllépted a 65ms-et, vagy rossz az optimalizációs beállítás 6. Ha a PORTC-n nem működik valami, kapcsold ki a JTAG-et Bővebben: AVR-libc FAQ
Két tippem maradt: ha találsz a programozón Slow SCK jumper-t vagy rövidre zárási lehetőséget, használni kellene. Esetleg egy 10k ellenállás a reset és táp közé.
A leírás szerint erre már nincs szükség, feltéve ha tényleg friss a firmware a programozódban.
Próbáld meg letölteni a legfrissebb avrdude-t (avrdude-6.3-mingw32.zip) és a winavr\bin könyvtárban lecserélni a két fájlt, ami a zip-ben van. Bővebben: Link
Idézet: „One final difference is that the LCSoft part actually connects the ATmega's UART lines (TX/RX) to pin 4 and pin 6 of the ISP header. ” Ez annyit jelent, hogy az USBasp-den lehet, hogy 2db GND pin (pin 4 és 6) nem GND hanem UART (RT/TX). Valahogy így: ISP 10pin pinout with UART Még a neten az is feltűnt, hogy nem feltétlen kötik be az összes GND-t. Biztosan az alsót (pin 10) használhatod GND ként. Másik oldal: VCC pin 8 GND vagy TXD GND vagy RXD GND vagy NC GND biztos pin 4 Ha az említett fuse bitek át vannak állítva, akkor az USBasp-vel nem tudod felprogramozni. Csakis egy HVSP-vel (High Voltage Serial Programer). Amit rolandgw irt azt is feltétlen ki kell próbálni. Ha nincs felhúzó ellenállás a RST lábon, akkor nem feltétlen tud szinkronizálni a programozó az AVR-el.
Idézet: „Ha nincs felhúzó ellenállás a RST lábon, akkor nem feltétlen tud szinkronizálni a programozó az AVR-el.” Ezt a reset és a VCC közé? és mekkora legyen?
A -F kapcsolóval ezt adja :
"avrdude.exe: usbasp_initialize() avrdude.exe: usbasp_spi_set_sck_period(0) avrdude.exe: auto set sck period (because given equals null) avrdude.exe: usbasp_program_enable() avrdude.exe: error: program enable: target doesn't answer. 1 avrdude.exe: initialization failed, rc=-1 avrdude.exe: AVR device initialized and ready to accept instructions avrdude.exe: Device signature = 0x000000 (retrying) avrdude.exe: Device signature = 0x000000 (retrying) avrdude.exe: Device signature = 0x000000 avrdude.exe: Yikes! Invalid device signature. avrdude.exe: Expected signature for ATmega328P is 1E 95 0F avrdude.exe: usbasp_close()"
GND-t 100n-ón keresztül adsz neki???
Csoda, hogy egyáltalán néha elindul! Kapásból itvan az első találat: Bővebben: Link A GND <>100n <> +5V között van. GND <> 10u <> +5V is fontos. És GND <> 100n <> 3.3V És ha mindkét rendszer kap tápot az USB-röl? Akor csak a GND <> GND kötjük össze. A hozzászólás módosítva: Máj 28, 2017
1-10kOhm közötti ellenállás jó lesz a teszteléshez.
Idézet: Nezd meg jobban a rajzot! Nincs GND jel, de attol meg a signal GND-re van kotve, ezt jelzi a GND felirat alatta. „GND-t 100n-ón keresztül adsz neki???”
Mit nézegessek rajta?
Én azt tanácsoltam neki, hogy vegyen készen 1-et! Építésben tovább már nincsen tanácsom! Ki az ördög látja a távolból? Akármitől gerjedhet, ha hosszú a vezeték felveszi a zajt? Nekem az ocsó kina 230400 bitel is megy. A hozzászólás módosítva: Máj 28, 2017
Egy 10 kOhm-ot tettem oda, és a j2 jumpert is összekötöttem, semmi változás.
A hozzászólás módosítva: Máj 28, 2017
A J2 nem arra való! Emlékeim szerint az a firmware frissítéshez kellett.
Az usbasp.atmega8.2011-05-28 -at töltöttem rá.
Lehet a GUI-ban a sebességet állítani. (emiatt frissítettem, hogy azt is tudja) Azt próbáltad lejjebb vinni? Alapból 1.5 Mbiten áll.
Itt lesz a megoldás. Már nekem is rémlik egy saját tapasztalatom új chippel és USBasp-vel, ahol elfelejtettem, hogy az AVR gyári beállítások mellett 1MHz-en megy. Ha az USBasp 1,5Mhz-en megy az valóban túl sok lesz neki.
Ha nem a J2-t akkor a J3-at kell összekötni. Vagy, ahogy dolargaan írja, GUI-ban (AVRDUDESS?) lehet lassítani az ISP órajelet.
Kizárásos alapon belekeveredtem J3 ezen a programozón. Az eredetin J1.
Bővebben: Link
Kedves Kapu48! Hozzászólásodat és előzményeit töröltem. Tévedésedre nem más fórumozók sértegetése lenne a helyes válasz.
(T)
HEURÉKA!!!
Srácok, működik!! Először megpróbáltam levinni az órajelet, közben olvastam valahol, hogy túl hosszú lehet a programozó/USB-kábel. Egyszerre csináltam mindkettőt, és láss csodát működik. Aztán visszadugtam az USB hosszabbítót - az órajelet levettem 93 KHz-re - és úgy is megy. Tehát az órajellel volt baj. Hálás köszönet mindenkinek aki segített!!
Ha nem állítottad át az AVR fuse bitjeit külső kristályra, akkor belső 8 MHz-es oszcillátorról megy. Az pedig módjával működik, ha éppen működik.
Szerintem ilyesmit még véletlenül se tettem
Kutakodtam hírtelen kicsit és ezt találtam AVR Fuse Bits example Ez járható út? Vagy mi a javaslat? Hogy tudom belőni?
Fuse bit beállítása avrdude-dal parancssorban:
Segítség a bitek beállításához: Fuse Bit Calculator
Köszönöm
Én megpróbáltam. AVRISP MK II programozót használok. A képen láthatóak az eredmények, vagyis eredménytelenségek. Az utolsónál már fel se volt dugva a gépre. Mivel próbálkozzak?
Az avrdude nem látja a programozókat. Az USBasp-nél ezt ki is írja, az AVRISP MK II-nél nem írja ki.
Csak tippelek: a programozó nincs "társítva" a libusb-vel.
Ez volt a gond, köszönöm! Végre 16MHz-n ketyeg a cucc
Hátha más is belefut ilyenbe, ezzel a progival át lehet állítani az AVRISP MKII driverét Zadig
Sziasztok !
Problémám a következő: ATXMEGA-t szeretnék programozni MK-II-vel.Sajnos nem ismeri fel a programozó. Már sokszor átvizsgáltam a tüskesorhoz kapcsolódó lábakat,és a többi forrasztást is,de hibát nem találtam. Mi lehet az oka?
RESET kondi / IC a RESET lábon vagy véletlenül 5V-al próbáltad programozni...
(táp jumper állapota az MK-II-n) Ja, és persze gondolom a PDI-n probáltad. programozó LED felvillan?
Köszönöm a választ.
PDI-n próbáltam,és a 3.3 V-t kiirta,de a procit nem.A Led felvillant. Válaszod RESET kondi/IC a Reset lábon mit jelent?Sajna de kezdő vagyok a programozásban.Még van mit tanulnom. |
Bejelentkezés
Hirdetés |