- Akku Tests und Balkonkraftwerk Speicher         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 13 von 13

Thema: Dringend Hilfe für dsPIC30F6014 nötig!

  1. #11
    Neuer Benutzer Öfters hier
    Registriert seit
    03.10.2006
    Beiträge
    9
    Anzeige

    E-Bike
    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

  2. #12
    Neuer Benutzer Öfters hier
    Registriert seit
    03.10.2006
    Beiträge
    9
    Oder kann mir jemand sagen wo ich nachsehen kann um darauf zu kommen was ich noch nit richtig habe??
    Brauche wirklich hilfe!

    lg dominik

  3. #13
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    20.08.2004
    Ort
    Unterschleissheim
    Beiträge
    333
    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

Seite 2 von 2 ErsteErste 12

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

LiFePO4 Speicher Test