Forum: Mikrocontroller und Digitale Elektronik Problem über AT90USB162-Programm


von Lee (Gast)


Lesenswert?

Hallo,

ich mache zur zeit  Project , und zwar ist etwas über Data Acquisition, 
zuerst  ADC wird  wird eine analogsignal aus Messvertärker bekommen, 
und dann  also digitaglsignal nach MCU (AT90USB162) übertragen,  danach 
wird das siganl über USB-Interface  ins PC gespeichert.

und der Betreuer hat mir 3 Fragen gestellt ,,

 Einfache Programmierung des AVR (AVRStudio+WinAVR+Simulator):

        1. einfaches Programm, welches Daten über einen Port einliest
           und im SRAM abspeichert

        2. einfaches Programm, welches Daten über einen Port ausgibt

        3. einfaches Programm, welches Daten über die USB-Schnittstelle
           ausgibt

und die erste Frage habe ich so antwortet :


void Spiinitial(void)
{
  /* Set MISO input and SCK output, all others input */
  DDRB = (0<<DDB3) | (1<<DDB1);
  /* Master, set clock rate fck/4 */
  SPCR = SPCR |(1<<MSTR);

}
unsigned char SpiReadByte(void)
{

  /* Enable SPI*/
  SPCR = SPCR |(1<<SPE);
  /* Wait for transmission complete */
  while(!(SPSR) & (1<<SPIF));
  /* stop SPI Transmission */
  SPCR = SPCR & (0xBF);
  return(SPDR);

 }

aber der habt mir  wie folgend esagt :
SPI hat nichts mit dieser Frage zu tun! Es sollen einfach über einen
Port Daten eingelesen werden!

und Frage 2 und 3 verstehe ich auch nicht   ,,  kann jemand viellecht 
mir helfen

von ... (Gast)


Lesenswert?

http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial
Insbesondere Kapitel 11, sollte die ersten beiden Fragen beantworten.
Von 3. hab ich auch keine Ahnung, steht aber mit Sicherheit im 
Datenblatt.

von ... (Gast)


Lesenswert?

Achso, Deine Antwort sind zwei Funktionen, aber noch lange kein 
Programm. Da fehlt einiges.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.