Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[attiny2313] Code wordt niet uitgevoerd?

Pagina: 1
Acties:

  • SA007
  • Registratie: Oktober 2002
  • Laatst online: 20-11 21:12

SA007

Moderator Tweaking
Topicstarter
Ik ben wat software aan het ontwikkelen voor een attiny2313, maar nu lukt het nieteens om er een simpele knipperende led uit te krijgen.

De hex die ik gebruik komt van avr projects En is eigenlijk te simpel om iets mee mis te zijn.

Programmer die ik gebruik is gewoon een paar draadjes verbonden met de printerpoort, samen met avrdude (en dan de bsd programmer gekozen).

Programmeren lijkt ook helemaal goed te gaan, al lijkt het wel erg snel te gaan (al zal dat meer liggen aan het feit dat ik een seriele verbinding met een eeprom gewend ben :P)

Output van avrdude:
code:
1
2
3
4
5
6
7
8
9
10
11
$ avrdude -c bsd -p t2313 -P /dev/parport0 BLINK\ LED\ 2313.HEX

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x1e910a

avrdude: safemode: Fuses OK

avrdude done.  Thank you.


Dan duw ik de avr op een breadboard, pin 1 (/reset) en pin 20(vcc) direct aan de +5 V, gnd eraan, ledje op PB0 (met weerstand die prima is voor 5V) en dan de voeding aan.
0 responce, helemaal niks... :'(
Ook ledje andersom (tussen de 5v en het pinnetje op de avr), ook met een 3.5mhz kristal aan de XTal's enz...

Ook al geprobeerd met een andere (ook nieuwe) attiny2313, zelfde resultaat...

Iemand tips/hints/over wat hier mis aan kan zijn/gaan?

  • Thijsch
  • Registratie: Februari 2002
  • Laatst online: 19-11 10:47
Heb je er wel een crystal aan? Of gebruik je een interne oscilator?

  • SA007
  • Registratie: Oktober 2002
  • Laatst online: 20-11 21:12

SA007

Moderator Tweaking
Topicstarter
Zoals ik zei heb ik het geprobeerd met de interne (die hij afaik standaard pakt als er geen aanhangt) en een kristal van 3.579545mhz (waarom zo'n loos getal is me ook een raadsel) met 2 condensators van 22pF eraan.

  • JuuL20
  • Registratie: Augustus 2005
  • Laatst online: 18-11-2021
In the circuit for the ATTiny12 the internal 1.2 MHz oscillator is used, because of that you don't need an external oscillator, but it can be configured also for an external crystal.
Het is dus zonder extern kristal mogelijk, een extern kristal is nauwkeuriger dan het interne kristal, maar dat maakt hier niets uit.
Ik denk dat het aan de instellingen van je programmersoftware ligt.
Kan je daar eens een screenshot van maken?

En als je een multimeter hebt kan je beter ff de spanning over dat pinnetje meten, dan sluit je meteen uit of de LED stuk is of dat je toevallig een te hoge weerstand hebt gepakt.

[ Voor 13% gewijzigd door JuuL20 op 07-05-2006 20:07 ]


  • madwizard
  • Registratie: Juli 2002
  • Laatst online: 26-10-2024

madwizard

Missionary to the word of ska

Die hex lijkt niet echt goed, in de simulator laat hij wel bit 0 van PORTB aan en uit gaan, alleen is DDRB nog steeds 0 waardoor de pin niet als output ingesteld staat. Daarnaast staat de LED welgeteld 2 cycles aan, dus zelfs als de poort als output staat knippert deze in de megahertzen wat niet echt interessant is. BASIC heb ik nog nooit gebruikt voor AVRs dus daar kan ik weinig over zeggen, maar die hex file gaat in de simulatie in ieder geval niet goed.

www.madwizard.org


  • SA007
  • Registratie: Oktober 2002
  • Laatst online: 20-11 21:12

SA007

Moderator Tweaking
Topicstarter
@Juul20, ik werk onder linux in consolemodus, screenshot maken is beetje zinloos, alle instellingen staan op de commandline (zie mijn codeblok in de SP).

@madwizard, ok? dus die hex is niet goed...?
Ik heb zelf ook een stukje asm aangepast voor een attiny11, doet deze hex het wel goed dan ;) http://got.sa007.nl/blink.asm

edit:

Wat gebruik jij voor dat testen btw?

[ Voor 8% gewijzigd door SA007 op 07-05-2006 20:14 ]


  • madwizard
  • Registratie: Juli 2002
  • Laatst online: 26-10-2024

madwizard

Missionary to the word of ska

Nee die werkt ook niet, nouja misschien wel maar de code is niet goed. Zowieso zet je de verkeerde pin aan in PORTB, maar daarna doe je een rcall en daarvoor moet je eerst de stackpointer initialiseren.
edit:De attiny11 heeft een hardware stack die niet geinitialiseerd hoeft te worden, vandaar.

Probeerr deze eens:
code:
1
2
3
4
:020000020000FC
:1000000001E011E007BB08BB012793E08FEF2FEF62
:0A0010002A95F1F70197D9F7F6CF12
:00000001FF


edit: Voor het testen gewoon de hex in AVR studio openen. Maar dat draait alleen onder windows volgens mij. En trouwens: .asm voor een .hex gebruiken is wat verwarrend :)

[ Voor 31% gewijzigd door madwizard op 07-05-2006 20:25 ]

www.madwizard.org


  • SA007
  • Registratie: Oktober 2002
  • Laatst online: 20-11 21:12

SA007

Moderator Tweaking
Topicstarter
madwizard, sorry voor de extentie, helemaal overheen gekeken :P

Deze wil het ook niet hard doen, weet niet welk pinnetje die hex laat knipperen, maar meer helemaal niks (op alle pinnetjes) en een led op PB0 doet ook niks... (ook met kristal)

  • madwizard
  • Registratie: Juli 2002
  • Laatst online: 26-10-2024

madwizard

Missionary to the word of ska

Als het goed is moet PB0 knipperen, in de simulatie gaat ie ten minste aan en uit, een paar keer per seconde afhankelijk van de kloksnelheid (bij 4MHz ~5 keer per seconde).

Code is:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
.include <tn2313def.inc>

    ldi     r16, 1
    ldi     r17, 1
    out     DDRB, r16

loop:
    out     PORTB, r16
    eor     r16, r17    

    ldi     r25, 0x3
    ldi     r24, 0xFF
delay1:
        ldi     r18, 0xFF
        delay2:
        dec     r18
        brne    delay2
    sbiw    r25:r24, 1
    brne    delay1

rjmp    loop


Als je het kristal wilt gebruiken moet je daarvoor wel fuses zetten he? Standaard word de interne oscillator gebruikt, ook al heb je een kristal eraan hangen. Maar ook dan moet het gewoon werken eigenlijk
SA007 schreef op zondag 07 mei 2006 @ 20:04:
en een kristal van 3.579545mhz (waarom zo'n loos getal is me ook een raadsel)
offtopic:
Dat is de carrierfrequentie van het kleursignaal bij NTSC.

[ Voor 17% gewijzigd door madwizard op 07-05-2006 20:43 ]

www.madwizard.org


  • SA007
  • Registratie: Oktober 2002
  • Laatst online: 20-11 21:12

SA007

Moderator Tweaking
Topicstarter
code:
1
2
3
4
5
6
7
8
9
10
11
12
+------------------------------------------------------------+
| gavrasm gerd's AVR assembler Version 1.7 (C)2006 by DG4FAC |
+------------------------------------------------------------+
Compiling Source file: madwiz.asm
-------
Pass:        1
Line: 19
Error ==>     sbiw    r25:r24, 1
[madwiz.asm,19] 017: Register value (0) out of range (R24/26/28/30!)!
22 lines done.

Compilation aborted, one error!

klopt dit of staat mijn assembler ergens verkeerd?

  • madwizard
  • Registratie: Juli 2002
  • Laatst online: 26-10-2024

madwizard

Missionary to the word of ska

Waarschijnlijk moet je 'sbiw r24, 1' gebruiken, verschil in compiler (ik gebruik de officiele assembler van atmel, avrasm2).

www.madwizard.org


  • SA007
  • Registratie: Oktober 2002
  • Laatst online: 20-11 21:12

SA007

Moderator Tweaking
Topicstarter
Ok, de hex die eruit komt is ook identiek nu, dus de assembler is in orde.

Maar krijg nog steeds niks uit de atmel, heb een andere atmel gepakt, daar de code in geduwd met avrdude, die op mijn breadboard geduwd, gnd aan pin 10, vcc (5v) aan pin 20 en pin 1, multimeter aan PB0 (pin 12) en meet 0,01V, aka lekstroom.

En avrstudio werkt btw niet onder wine helaash, loopt alleen vast.

[ Voor 10% gewijzigd door SA007 op 07-05-2006 21:04 ]


  • madwizard
  • Registratie: Juli 2002
  • Laatst online: 26-10-2024

madwizard

Missionary to the word of ska

Hmm weet je zeker dat het programma goed geschreven wordt? Er staat 'reading' in je avrdude command. Probeer het volgende eens, dat zou madwiz.hex moeten schrijven en verifieren:
code:
1
avrdude -c bsd -p t2313 -P /dev/parport0 -U flash:w:"madwiz.hex":a -U flash:v:"madwiz.hex":a

(gemaakt iva avrdude-gui, niet echt getest dus)

[ Voor 8% gewijzigd door madwizard op 07-05-2006 21:11 ]

www.madwizard.org


  • SA007
  • Registratie: Oktober 2002
  • Laatst online: 20-11 21:12

SA007

Moderator Tweaking
Topicstarter
VET! Werkt, dat me dat neit eerder opgevallen is :)

* SA007 kijkt hier nu naar een moowj knipperend ledje :)

* SA007 geeft madwizard een virtueel koekje :)

  • madwizard
  • Registratie: Juli 2002
  • Laatst online: 26-10-2024

madwizard

Missionary to the word of ska

Yay :)

Werkt die code van avr projects trouwens nu wel of nog steeds niet?

www.madwizard.org


  • SA007
  • Registratie: Oktober 2002
  • Laatst online: 20-11 21:12

SA007

Moderator Tweaking
Topicstarter
Knippert een beetje erg snel, alsin op 50% pwm gedimd :P

  • madwizard
  • Registratie: Juli 2002
  • Laatst online: 26-10-2024

madwizard

Missionary to the word of ska

Dat klopt wel ja, er zit geen delay tussen. Maar het leek ook dat de poort niet als output gezet werd, dan zou er dus om en om een pull-up aan/uitgezet worden en de LED ook nog eens de weerstand daarvan meekrijgen. edit: Hmm dan zou het LEDje niet eens moeten branden als het naar 5V toe gaat, want pull-downs heeft ie niet. Nouja..

[ Voor 23% gewijzigd door madwizard op 07-05-2006 21:46 ]

www.madwizard.org

Pagina: 1