daten vom atmega328ß zum attiny2313 mit nrf24l01 übertragen

Gast #4613748
Lesenswert?
• ▲
▼
Hallo,
ich möchte gerne Daten von einem Arduino zu einem ATtiny2313 übertragen. 
Dazu sende ich zunächst vom Arduino jede Sekunde eine Nachricht zum 
ATtiny. Dieser soll beim Eingang einer Nachricht zunächst einfach nur 
eine LED Toggeln. Doch leider werden keine Daten übertragen.

Im Arduino lasse ich einen Timer hochlaufen und immer wenn eine Sekunde 
vorüber ist in der hauptschleife eine Nachricht mit einem Byte 
rausschicken.
1
int main(void){
2
  uint8_t k = 0;
3
  uint8_t l = 1;
4
  timer_interrupt_init(); // Timer0 -> 1ms
5
  mirf_init();
6
  _delay_ms(50);
7
  sei(); // Global Interrupts activate
8
  mirf_config();
9
  while (1){
10
    if(sekunde_over==1){ // sekunde_over wird in der Timer ISR gesetzt
11
      k++;
12
      mirf_send(k,l);
13
      sekunde_over = 0;
14
    }
15
  }
16
}

Im Attiny lasse ich bei eingehenden Daten den INT0 Interrupt auslösen 
und hole mir dort die Daten heraus
1
ISR(INT0_vect){
2
  TOGGLEBIT(PORTD, 5);
3
    uint8_t status;
4
     //If still in transmitting mode then finish transmission
5
    if (PTX) {
6
      
7
       //Read MiRF status
8
      mirf_CSN_lo;                                // Pull down chip select
9
      status = spi_fast_shift(NOP);               // Read status register
10
      mirf_CSN_hi;                                // Pull up chip select
11

12
      mirf_CE_lo;                             // Deactivate trans receiver
13
      RX_POWERUP;                             // Power up in receiving mode
14
      mirf_CE_hi;                             // Listening for packets
15
      PTX = 0;                                // Set to receiving mode
16

17
       //Reset status register for further interaction
18
      mirf_config_register(STATUS,(1<<TX_DS)|(1<<MAX_RT)); // Reset status register
19
  }
20
}

doch leider bleibt die LED aus.

Das Problem liegt denke ich schon am Arduino, dass dort nichts gesendet 
wird. Wenn ich an CSN (PB1 vom Atmega328p) noch eine LED hänge, leuchtet 
diese auf, und geht auch nicht kurz, während des sendens aus.

Könnt ihr über den Code gucken und sehen, was falsch ist?

Johannes
Angehängte Dateien:

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.