ATmega128A und ATMEL STUDIO

OP #4480050
Lesenswert?
• ▲
▼
Hallo Freunde !

Ich habe ein Board mit dem Atmega128A gekauft, welches als 
Steuerzentrale fungieren soll.
Nun da ich fast ausschliesslich in C programmiere kam der erste Dämpfer 
vom ATMEL Studio(4,5,7), der Chip ist nur in ASSR zu programmieren.

Habe mich mit den Unterlagen von ATMEL auseinander gesetzt und auch den 
ATM103 Modus ausprobiert.

Normale I/O Programmierung kann ich unter Einstellung von ATMega128 
vornehmen, aber I2C, SPI und UART geht überhaupt nicht. Es werden 
verschiedene Registernamen nicht erkannt, auch die nicht die Orginal in 
der Beschreibung von ATMel angegeben sind.

Ich bin am Verzweifeln , hat da wer einen Tipp für mich ??

Das Board ist von LC-Studio hier ist es etwas beschrieben:

https://orxor.wordpress.com/2013/08/08/externer-quarz-fur-atmega128a/

Gruss und Dank

Gerhard
Gast #4480054
Lesenswert?
• ▲
▼
Gerhard H. schrieb:
> Normale I/O Programmierung kann ich unter Einstellung von ATMega128
> vornehmen, aber I2C, SPI und UART geht überhaupt nicht. Es werden
> verschiedene Registernamen nicht erkannt, auch die nicht die Orginal in
> der Beschreibung von ATMel angegeben sind.

dann zeige mal was du gemacht hast. ATmega128A ist doch ein 
Standard-Type der einfach zu Programiren ist.

> der Chip ist nur in ASSR zu programmieren.
was meinst du damit?
Gast #4480087
Lesenswert?
• ▲
▼
The  ATmega128A  is  a  functionally  identical,  drop-in  replacement 
for  the
ATmega128. All devices are subject to the same qualification process and 
same
set  of  production  tests,  but  as  the  manufacturing  process  is 
not  the  same  some
electrical characteristics differ

look at AVR525 ...
#4480565
Lesenswert?
• ▲
▼
Hallo
und vielen Dank für Eure bisherigen Mühen !

Ja es ist auch ein bischen schwer, das so verständlich für einen 
Aussendstehenden zu schreiben.
Also ich habe dieses Bosrd über eine 10pol. ISP Kabel mit dem STK500 
verbunden. und Benutze ARV-Studio zum Code schreiben und kompilieren.

Der ATmega128 A steht in der Auswahl beim STK500 nur beim Wizzard zum 
Erstellen eines neuen Projektes zur Verfügung.
Unter Projekteigenschaften kann ich diesen Chip nicht suchen/einstellen, 
nur den 128..eben ohne "A".

Jetzt habe ich eine Prog zur ser. Verbindung per USART geschrieben und 
da meldet AVR Studio das dieser Chip nur in Assembler zu Programmieren 
geht.

Hier die Fehlermeldung :  error: MCU 'atmega128a' supported for 
assembler only

Bei der "usart init"- Routine meckkert der Compiler das er die Register 
nicht kennt, selbst bei der,
die ich der Origin.Atmega128A Beschreibung von Atmel entnommen habe 
(S.254) Hier der Code:

(in FOSC als F_CPU und der main hier etwas geändert) :

***********************************************
C Code Example(1)

#define F_CPU 8000000UL
// Clock Speed
#define BAUD 9600
#define MYUBRR F_CPU/16/BAUD-1


void  USART_Init( unsigned int ubrr)
{
/*Set baud rate */
   UBRRH = (unsigned char)(ubrr>>8);
   UBRRL = (unsigned char) ubrr;
   Enable receiver and transmitter */
   UCSRB = (1<<RXEN)|(1<<TXEN);
/* Set frame format: 8data, 2stop bit */
   UCSRC = (1<<USBS)|(3<<UCSZ0);
}

int main( void )
{

   USART_Init(MYUBRR);
   return 0;
}
***********************************************

Nun habe ich noch bemerkt das hier auch schon ein Fehler existiert wenn 
ich den ATMega128A bei der Projekterstellung auswähle:

c:/winavr-20100110/lib/gcc/../../avr/include/avr/io.h:404:6: warning: 
#warning "device type not defined"
#4480603
Lesenswert?
• ▲
▼
Gerhard H. schrieb:
> c:/winavr-20100110/lib/gcc/../../avr/include/avr/io.h:404:6: warning:
> #warning "device type not defined"

Das mag sein. WinAVR2010 ist so steinalt, das kennt wohl wirklich den 
Mega128A noch nicht. Das Problem hat aber mit den Atmel Studios > 4 
überhaupt nichts zu tun. Die kommen mit ihren eigenen, neueren 
Versionen.

Wenn diese Fehlermeldung bei einem Studio 5 oder größer auftritt, ist 
deine Installation kaputt.

Oliver
#4480609
Lesenswert?
• ▲
▼
Oliver S. schrieb:
> Gerhard H. schrieb:
>> c:/winavr-20100110/lib/gcc/../../avr/include/avr/io.h:404:6: warning:
>> #warning "device type not defined"
>
> Das mag sein. WinAVR2010 ist so steinalt, das kennt wohl wirklich den
> Mega128A noch nciht. Das Problem hat aber mit den Atmel Studios > 4
> überhaupt nichts zu tun.
>
> Oliver

Macht aber nichts, die A-Variante ist Drop-In Kompatibel. man kann 
einfach den 1280 ohne A auswählen und dafür programmieren.
#4480634
Lesenswert?
• ▲
▼
Vielen Dank
werde es später nochmals alles nachgehen, habe jetzt nochmals 
durchgelesen und 2 Registernamen geändert , da muss noch ne 0 oder 1 in 
den Namen:
void USART_Init( unsigned int ubrr)
  {
   /*Set baud rate */
     UBRR0H = (unsigned char)(ubrr>>8);
     UBRR0L = (unsigned char)ubrr;
     //Enable receiver and transmitter */
      UCSR0B = (1<<RXEN)|(1<<TXEN);        //0 fehlte bei UCSR0B
   /* Set frame format: 8data, 2stop bit */
       UCSR0C = (1<<USBS)|(3<<UCSZ0);       //0 fehlte bei UCSR0C
  }


habe aber den ATMega128 gewählt und nicht 128A

Melde mich wider bislang herzlichten Dank !!!!!!


Gerhard

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren