-
-
Neuer Benutzer
Öfters hier
Habe jetzt wie du gesagt hast zuerst die LED gesetzt und dann mit hilfe einer if schleife abgefragt SW == 0 aber dann leuchtet sie ja nie!!
while (1)
{
if ( SW1 == 0 )
{ LED2 = 1;
}
}
Also ich hab schon mehr Code... aber das war der wichtigste Teil:
-->ist ein Bsp. Programm von MPLAP
#include <p30fxxxx.h>
#include "LCD Display.h"
#include "common.h"
//-----von mir-------------------------
#define LED1 LATDbits.LATD1
#define trisLED1 TRISDbits.TRISD1
//------------------------------
#define LED2 LATDbits.LATD2
#define trisLED2 TRISDbits.TRISD2
#define LED3 LATDbits.LATD3
#define trisLED3 TRISDbits.TRISD3
#define SW1 LATAbits.LATA12
#define trisSW1 TRISAbits.TRISA12
//------------------------------------------
void Update_LCD( void );
int main ( void )
{
/* Initialize some general use variables */
hours, minutes, seconds = 0;
rtc_lcd_update = 0;
/* set LED0 pins as outputs */
TRISDbits.TRISD0 = 0;
//---vo mir-------------------------------------------------------
trisLED1 = 0; //Output
LED1 = 1; //LED aus
trisLED2 = 0;
LED2 = 0;
trisLED3 = 0;
LED3 = 1;
trisSW1 = 1; //Input
//---------------------------------------------------------------
/* Initialize SPI and LCD Display */
Display_Setup();
LCD_HomeClear();
/* position LCD cursor at column, row */
LCD_CharPos(0,0);
Display_String(" RTC with dsPIC30F ");
/* position LCD cursor at column, row */
LCD_CharPos(0,2);
Display_String("Time> 00 : 00 : 00 ");
/* position LCD cursor at column, row */
LCD_CharPos(0,3);
Display_String(" Nein heißt ja.. ");
/* Initialize Timer 1 for 32KHz real-time clock operation */
Init_Timer1();
/* Initialize INT1 pin used for setting Time-of-Day */
Init_INTpin();
//---vo mir----------------------------------------------------------
LED1 = 0;
LED3 = 0;
int n = 0;
while (1)
{
if ( SW1 == 0 )
{ LED2 = 1;
}
}
LED1 = 1;
//--------------------------------------------------------------------
while ( 1 ) {
if ( rtc_lcd_update )
{
Update_LCD();
rtc_lcd_update = 0;
}
};
return 0;
}
Kann das dir (euch) mehr helfen um mir eine Antort zu geben??
Es sollte sich nur der Zustand einer LED verändern wenn ich den Taster betätige und zum alten zustand wechseln wenn ich ihn wieder auslasse!
Ich glaube dass der Taster (also der wer SW1) immer von anfang an auf 0 ist und wenn ich z.B frage SW != 0 dann tut sich auch nix!!
ich weis leider nicht weiter...
Würde mich auf eine antwort freuen!!
lg dominik
-
Neuer Benutzer
Öfters hier
Oder kann mir jemand sagen wo ich nachsehen kann um darauf zu kommen was ich noch nit richtig habe??
Brauche wirklich hilfe!
lg dominik
-
Erfahrener Benutzer
Begeisterter Techniker
while ( SW1 == 0 )
{
LED2 = 1;
}
LED2 = 0;
Das müsste das tun.
Ich nehme mal an, dass du mit MPLAB arbeitest. Damit kannst du auch gut simulieren und schaun, was dein Programm macht. So findest du auch deine Bugs.
Gerhard
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen