Sida 1 av 3

Problem med ATmega8515 och MAX232

Postat: 16 juni 2004, 22:12:17
av jensa
Jag tänkte testa min ATmega8515 med lite förgjord kod, och oavsätt vilken jag väljer så blir det bara knas :(

Körde nu senast med denna koden:

Kod: Markera allt

;******************************************************
.include "8515def.inc"
.def  temp =r16

 rjmp RESET ;Reset Handle
;******************************************************
RESET:
  ldi temp,low(RAMEND)
  out  SPL,temp
  ldi  temp,high(RAMEND)
  out  SPH,temp                         ;init Stack Pointer
  ldi r16,25                                  ;9600 Baud
  rcall init_UART
mloop: ldi zh,high(string*2)
  ldi zl,low(string*2)
loop: lpm
  mov r16,r0
  rcall putchar
  adiw r30,1
  cpi r16,0
  brne loop
  rcall delay
  ldi r16,10                                  ;Line Feed
  rcall putchar
  ldi r16,13                                  ;Carriage Return
  rcall putchar
  ldi r16,7                                  ;Beep
  rcall putchar
  rjmp mloop

init_UART:                               ;baudrate in R16
  out UBRR,R16
  sbi UCR,TXEN                    ;enable transmitter
  ret
 
putchar:                                   ;character in R16
  sbis USR,UDRE
  rjmp putchar                          ;wait for Uart Data Reg Empty
  out UDR,r16
  ret

delay:   ldi r22,50
loop1:  rcall wait
  dec    r22
  brne  loop1
  ret

wait:      ldi r21,255
loop2:   ldi r20,255
loop3:  dec r20
  brne   loop3
  dec    r21
  brne   loop2
  ret
 
 
string: .db "1234567890abcdefgh",0
Kopplingen på MAX232:an är såhär: MAX232 A10 och A11 är pinnarna på AVR:en Rx,Tx. C2,C3 är comportspinne 2 resp 3
En skärmdump av terminalprogrammet:
HÄR

Hmm kopplingsbilden kändes smått kass men vad gör man inte för att få "nya ögon på problemet" Det känns som jag har stirrat för mycket på mina egna kopplingar :-/

Hjälp! blir galen på detta snart, känns hopplöst att börja programera egen kod ifall den endå inte kommer att fungera :evil:

Postat: 16 juni 2004, 22:17:34
av cyr
Är du säker på att baudraten är rätt?

Postat: 16 juni 2004, 22:24:42
av PaNiC
Men.. Den specar ju varken baudrate med LDI r16, siffra före out UBRR, r16 eller specar vilket tecken den ska skicka till UDR på samma sätt.

Edit: Sorry, my bad.. Men den specar iallafall inga vettiga ascii-tecken

Edit2: Jag är bara dum. Jag ser inget fel.

Postat: 16 juni 2004, 22:29:15
av jensa
Hehe, PaNiC verkar lite småtrött ;)
*sitter å luskar runt på sida 133+ i den heliga boken utan epistlar*

Postat: 16 juni 2004, 22:36:03
av PaNiC
Jag är faktiskt det. Har inte fått sova de senaste dagarna. Det är fan att man måste gå upp klockan 06 för att jobba :D.

Postat: 16 juni 2004, 22:37:12
av Melker
Vad körs den i för frekvens?

Postat: 16 juni 2004, 22:42:19
av jensa
4Mhz

offToppic. Jag kliver också upp kl. 06.00 *lider med dig*

Postat: 16 juni 2004, 23:01:07
av PaNiC
Ja då är det ju rätt att UBRR ska vara 25 också..
Skumt.

Tack.. Kl 6 är inte kul :(.

Postat: 16 juni 2004, 23:04:22
av Melker
Tror du missat sätta antal databitar till 8.
Vet inte heller ifall det har någon betydelse, men mega8515's include-fil heter väl m8515def.inc?

Postat: 16 juni 2004, 23:18:36
av jensa
När jag försöker med m8515 så blire det error på rad 34 samt 38 säger den .. nu blev jag lost, men det känns som det kan vara där felet ligger i.s.f.

Postat: 17 juni 2004, 19:56:50
av PaNiC
UCR och USR heter nog annorlunda i mega8515 bara. Leta rätt på vad de verkligen heter och lös således problemet :).

Postat: 19 juni 2004, 01:27:33
av jensa
saaaaaatan! jag pillade lite i "fuses" och nu vill den inte leva alls :x
inte göra saker när man e trött : ( ( (

Postat: 19 juni 2004, 21:22:34
av PaNiC
Aj fan.. Vad ställde du om?

Postat: 20 juni 2004, 00:18:08
av jensa
cksel3-0 samt sut0
Fick för mig att det var rätt.. men detverkade vara fel :-/
Har då en 4 resp 8mhz kristall... vad göra?!

Panic:

Postat: 21 juni 2004, 07:41:44
av markusp
Jag lider med dig, jag går upp klockan 04:50 varannan vecka.