Fórum témák

» Több friss téma
Fórum » AVR - Miértek hogyanok
 
Témaindító: pakibec, idő: Márc 11, 2006
Témakörök:
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
Lapozás: OK   410 / 840
(#) Suncorgo válasza TavIR-AVR hozzászólására (») Feb 9, 2012 /
 
Az oldaladon hogyan jönnek ki a frissítések, milyen időközönként, mennyit csúszva az Atmel-tól? Mármint egy gyári támogatású programozó mindig hamarabb megkapja. Ezután LUFA-áék is közreadják az övéket? Vagy valaki a gyári ISPMKII-ről letölti és mehet a netre?
(#) zombee válasza Suncorgo hozzászólására (») Feb 9, 2012 /
 
Biztosan megoldható, de a hardveres JTAG-et nem fogja überelni. Egy UART-os cucchoz azért kéne valami kezelőprogram is, meg nem ártana ha tudná hogy hol is tart éppen a program.
Most nem PC(program counter)-ről beszélek, hanem mondjuk egy C nyelvű kódról...
Ja és a "break" asm utasítást is be kellene szúrnia a megfelelő helyre.
Interrupttal megoldható az is hogy megállítsa az egész programfutást, de akkor a kezelőprogramnak
a "cli"-ket automatikusan "nop"-ra kellene cserélnie mert fabatkát nem ér így az egész...
Majd valamelyik tanult kolléga elmagyarázza hogy az UART-os JTAG jó/nem jó. Szerintem nem jó...
(#) zombee válasza Suncorgo hozzászólására (») Feb 9, 2012 /
 
Idézet:
„Fusebits: Internal 8MHz clock, and enabled EESAVE bit.”


Csatolva a teljes pakk.
READ!.txt - a 29. és 31. sorban előírja az 1MHz-et...

Ettől függetlenül a 2.03-ban még lehet hogy ez 8MHz...
(#) zombee válasza Suncorgo hozzászólására (») Feb 9, 2012 /
 
Idézet:

2006-02-19 - AVR069: AVRISP mkII Communication Protocol
This document describes the AVRISP mkII protocol. The firmware is distributed with the Free AVR Studio 4.12 or later.”


A cucc a 2011. novemberi AVR Techlib DVD-ről származik, talán ez megmagyaráz pár dolgot...
(#) Suncorgo válasza zombee hozzászólására (») Feb 9, 2012 /
 
Idézet:
„Majd valamelyik tanult kolléga elmagyarázza hogy az UART-os JTAG jó/nem jó. Szerintem nem jó...”


Igazad lehet, ezt csak egy ötletnek dobtam fel azokhoz a procikhoz amiben nincs JTAG mag. Amelyikben van persze illik/tessék (kötelező) a JTAG-et használni.

Idézet:
„Ettől függetlenül a 2.03-ban még lehet hogy ez 8MHz...”


Így van. Te már a 2.04-et használod, én meg a 2.01-ről beszéltem. Én is kipróbálom a 2.04et ha már itt van.
(#) Suncorgo válasza zombee hozzászólására (») Feb 9, 2012 /
 
Az AVR studio 5 mikor keresi a programozókat? Mikor rányomsz a kis ic-s villám jelre?

Tudod ezt a progizót építettem meg: Bővebben: Link

és ebben a neve a programozónak amit visszaküld az alapjáraton AVRISP_2 volt. Ez nem támogatta a GET_VTARGET parancsot a studio 4 szerint ezért módosítottam STK500_2-re. Így jó Studio 4 ben. Szerinted működne Studio 5-ben ha visszaírnám? A Studio 4es felismerte AVRISP MKII-nek. Akkor az 5-nek is fel kellene...

Addig is lenne egy ISP programozóm amit támogatna a Studio 5.

Amúgy az STK500v2 és az AVRISPMKII kommunikációs protokollja szinte ugyan az.
(#) zombee válasza Suncorgo hozzászólására (») Feb 9, 2012 /
 
Hááát nem egészen ugyanaz, az egyik közvetlen USB-t használ a másik COM-portot...
(#) Tetye válasza Suncorgo hozzászólására (») Feb 9, 2012 /
 
Hali!
Letöltöttem onnan a hexet. Most működik ami érdekes 1-2 mhz belsőről még azt is hibásan írta ki hogy "test".
4mhz töl volt olvasható a felirat. De normális hogy atmega 168-ra ezt írja:
  1. Welcome
  2.  
  3. AVR Atmega fusebit doctor (HVPP) 2.01 BETA
  4. http://diy.elektroda.eu/atmega-fusebit-doctor-hvpp/
  5. Any usage of this project in commercial/profit purposes is prohibited!
  6.  
  7. Init programming...  DONE
  8. Read signature...    1E 96 1E
  9. Searching chip...
  10.  
  11. Don't have it in my database, sorry.
  12. if you want doctor to support it,
  13. please contact me at manekinen@gmail.com
  14. or post comment on my site
  15.  
  16. Thank you
  17. ___________________________________________________
(#) Axel válasza zombee hozzászólására (») Feb 9, 2012 /
 
Köszi a felvilágosítást, akkor tehát a JTAG felület programletöltésre nem használható csak az ISP ami külön van rajta a programozóként is funkcionáló debuggeren mint amilyen pl. az AVR Dragon?
(#) Suncorgo válasza zombee hozzászólására (») Feb 9, 2012 /
 
Most én a parancsokra gondoltam, nem a csatlakozási felületre.
(#) Suncorgo válasza Tetye hozzászólására (») Feb 9, 2012 /
 
Atmega168 pont nincs benne egyik támogatási listába sem. Akkor még várnod kell, hátha a 2.05ben már benne lesz. Vagy írni a fejlesztőnek hogy szükséged van rá és tegye bele. Hátha. Egy próbát megér.

Esetleg próbáld ki zombee által feltöltött hex-et (2.04) így:
- belső óra 1Mhz RC
- mikor terminált nyitsz akkor 2400bps-el csatlakozz a com portra, különben hülyeségeket fog írni a nem megfelelő UART sebesség miatt.
(#) Suncorgo válasza Tetye hozzászólására (») Feb 9, 2012 /
 
Nézd csak! A 2.11-be már benne van! (M168)

#11 UPDATE 30.04.2011

Firmware 2.11:
-fixed bug when not writing the HIGH fusebyte (concerns all chips!)
"Just" a typo which i made during optimalisations for 2.10 firmware

FUSEBITS: internal 1MHz clock, EESAVE enabled:
M8 L:0xE1 H:0xD1
M88,M168 L:0x62 H:0xD7 E:0xF9
M328 L:0x62 H:0xD1 E:0xFF

Bővebben: Link
(#) Suncorgo válasza Suncorgo hozzászólására (») Feb 9, 2012 /
 
Bocs félre néztem. Doctornak lehet használni.

De attól ki lehet próbálni!

A mega8-as verzióban nincsennek benne az IC-k nevei az aláírásuk szerint. Nem fért 8KB-be. Nekem valahogy nem sikerült beadni neki terminálon az új fuse biteket manuálisan.
(#) Tetye válasza Suncorgo hozzászólására (») Feb 9, 2012 /
 
Na várjatok itt:
  1. 16kB:
  2. Atmega16, Atmega16U4, Atmega16M1, Atmega161, Atmega162, Atmega163, Atmega164, Atmega164P, Atmega165, Atmega168, Atmega168P, Atmega169, AT90pwm216, AT90pwm316, AT90usb162

Azt írja hogy ezekkel tesztelte, nem?
Itt benne van.
(#) Suncorgo válasza Tetye hozzászólására (») Feb 9, 2012 /
 
uhh tényleg.... bocs én a 8kb-seket néztem :hide:
(#) TavIR-AVR válasza Suncorgo hozzászólására (») Feb 9, 2012 /
 
A LUFA alapján fut a dolog.
Viszont -> Lsd LUFA licence!
(#) Suncorgo válasza TavIR-AVR hozzászólására (») Feb 9, 2012 /
 
Ahogy megjelnik a LUFA-nál úgy te is frissíted gondolom az oldalon.
(#) zombee válasza Axel hozzászólására (») Feb 9, 2012 /
 
Miért ne lenne használható? Programletöltésre is jó, ráadásul nagyon gyors!
(#) szdani hozzászólása Feb 9, 2012 /
 
hali
LCD-re szeretnék ékezetes karaktereket kiírni és az lenne a kérdés hogy van valami program ami lefordítja a bináris számokat hexadecimálisra? Vagy van külön táblázat? mert neten nemtaláltam. 44780 kompatibilis kijelző.
(#) Suncorgo válasza szdani hozzászólására (») Feb 9, 2012 /
 
Windows számológép, nézet, programozó. Ez átváltja.
(#) szdani válasza Suncorgo hozzászólására (») Feb 9, 2012 /
 
Köszönöm szépen
(#) Tetye válasza zombee hozzászólására (») Feb 9, 2012 /
 
Most minden(M8,M168,Tiny2313) IC-re ezt írja:
(#) zombee válasza Tetye hozzászólására (») Feb 9, 2012 /
 
mit is?
(#) Reggie válasza zombee hozzászólására (») Feb 9, 2012 /
 
Errol a pokoli operator jutott az eszembe
(#) nolex hozzászólása Feb 9, 2012 /
 
Megőrülök...
Egyszerűen nem tudom levenni a PWM jelet egy Atmega 48/168-asról. 20MHz-es kvarcot használok, ezzel a beállítással:
  1. #include <avr/io.h>
  2. #include <util/delay.h>
  3. //=========================DEFINES
  4.  
  5. //=========================MACROS
  6.  
  7. //=========================GLOB.VAR.
  8.  
  9. //=========================PREDEC
  10. void init(void);
  11. //=========================MAIN
  12. int main(){
  13.  
  14. init();
  15. for(;;){
  16.  
  17.  
  18. }
  19. }
  20. //=========================FUNCS
  21. void init(void){
  22. TCCR1A=(1<<COM1A0)|(1<<COM1B0)|(1<<WGM11);
  23. TCCR1B=(1<<CS10)|(1<<WGM13)|(1<<WGM12);
  24. ICR1=0x0066;
  25. OCR1A=0x0023;
  26. }
  27. //=========================ISR

Adatlapot mellékeltem.adatlap
(#) Fish hozzászólása Feb 9, 2012 /
 
Sziasztok!

Egy kis kitérő: van egy lézernyomtató típus, Konica Minolta C1600 ez a toner "csippje" hogyan kommunikál a nyomtató ezzel a csippel, amiről képet is illesztek be? A 1-wire hoz sok az érintkezők száma, az I2Chez meg kevés.

Köszi a segítségeteket
(#) nolex válasza nolex hozzászólására (») Feb 9, 2012 /
 
Már megvan, a Data Direction registert nem állítottam be.
(#) zombee válasza Fish hozzászólására (») Feb 10, 2012 /
 
Tudod hogy egyáltalán mit beszélsz? Olyan IC-t még sose láttam aminek "valamennyi+fél lába" van...

1: Az 1-wire 1, az I2C 2 lábat használ(+cím ha van).
2: Az Atmel sehol nem használ 1-wire-t
3: A lábszám nem támpont, 8 lábú IC akár SPI-n is kommunikál ami 4 lábat is lefoglalhat...
(#) kovacsj válasza szdani hozzászólására (») Feb 10, 2012 /
 
Átszámítani sem nehéz. Csoportosítsd őket négyesével!

1111 0011 = F3
1010 0101 = A5
(#) trudnai válasza szdani hozzászólására (») Feb 10, 2012 /
 
Ez a tablazat is hasznos lehet, ASCII tablazat is meg hex konverter is, igaz csak 127-ig. Pl 'A' betu: Oszlopban 4, sorban 1, azaz hex 41. Oszlopban latod, hogy '100', sorban, hogy '0001', tehat binarisan 0100 0001...
Következő: »»   410 / 840
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem