Hallo oberallgeier,
ich habe jetzt einmal den Code aus dem EXAMPLES Ordner für IRKollision leicht verändert und benutze nun:
Code:
/*******************************************************************************
*
* Description: Asuro IR-Detektor Testprogramm
*
*****************************************************************************/
/***************************************************************************
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU General Public License as published by  *
 *   the Free Software Foundation; either version 2 of the License, or     *
 *   any later version.                                                    *
 ***************************************************************************/
#include "asuro.h"
#include <stdlib.h>

static unsigned char newocr2 = 0xFE;

void InitIRDetect(void)
{  
  UCSRB = 0;
  DDRD |= (1 << DDD1);	// Port D1 als Ausgang
  PORTD &= ~(1 << PD1);	// PD1 auf LOW
  OCR2 = newocr2;
}


int main(void)
{

  unsigned char sw;

  Init();
  InitIRDetect();
  
  while (1)
  {
    UCSRB = 0;
    OCR2 = 0xFE;

    if (PIND & (1 << PD0))
      StatusLED(GREEN);
    else
      StatusLED(RED);

    sw = PollSwitch();
    if (sw & 0x01)
      newocr2  = 0xFE;	//Pulsbreite 1
    if (sw & 0x02)
      newocr2  = 0xFD;	//Pulsbreite 2
    if (sw & 0x04)
      newocr2  = 0xFB;	//Pulsbreite 4
    if (sw & 0x08)
      newocr2  = 0xF7;	//Pulsbreite 8
    if (sw & 0x10)
      newocr2  = 0xEF;	//Pulsbreite 16
    if (sw & 0x20)
      newocr2  = 0x90;	//Pulsbreite 110

    if (sw)
    {  
      OCR2 = 0x91;
      PrintInt(sw); 
      SerPrint(" ");
      PrintInt(newocr2); 
      SerPrint("\r\n");
      OCR2 = newocr2;
    }
//   Msleep(100);
  }
  return 0;
}
Aber auch wenn ich nach dem SerPrint wieder die Pulsweite mittels OCR2 auf den neuen Wert, der laut Schalter nun verwendet werden soll, bekomme ich immer nur Nadelimpulst ?!? Ich hab auch schon versucht die Ausgabe an das Terminal auszukommentieren und in den Schalterabfragen direkt OCR2 zu setzen, aber immer nur Nadelimpulse.

Hast Du evtl. dazu noch eine Idee ?

Wolli