- Labornetzteil AliExpress         
Ergebnis 1 bis 10 von 16

Thema: Fuse-Bit nicht sichtbar // Frage zu einem Programm

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.707
    Mit copy & paste - ohne sonst was! - in die "Codeklammern" eingesetzt siehts schon fast gut aus.

    Code:
    #include <avr/io.h>
    #include <util/delay.h>
    
    // Status LED on
    
    #define LED1_on  |= (1<<PB0);
    #define LED2_on  |= (1<<PB1);
    #define LED3_on  |= (1<<PB2);
    #define LED4_on  |= (1<<PB3);
    #define LED5_on  |= (1<<PB4);
    
    // Status LED off
    
    #define LED1_off &= ~(1<<PB0);
    #define LED2_off &= ~(1<<PB1);
    #define LED3_off &= ~(1<<PB2);
    #define LED4_off &= ~(1<<PB3);
    #define LED5_off &= ~(1<<PB4);
    
    
    int main(void)
    {
        
        uint16_t x, ergebnis;                                            // Variablen für nachfolgendes Programm festlegen 
        DDRB = 0xFF;                                                    // Alle Bits als Ausgang
        PORTC = 0x00;                                                    // Beim Einfang keine Pullups            
         
    
         // Init Timer
    
          TCCR1B |= (1<<CS10);                                                    // 16bit Timer und Prescaler 1
                
        // Init ADC
    
        
        ADMUX = (1<<REFS0) | (1<<MUX0);                                    // AVCC 5V als Vergleichsspannung und festlegen des Messkanales ADC1
        ADCSRA = (1<<ADEN) | (1<<ADPS0) | (1<<ADPS1);                    //  ADC Aktivieren und Vorteiler für die ADC Wandlung festlegen auf 8  festlegen (125 khz) 
        ADMUX  |=  (1<<ADLAR);                                            // Ausgabe linksbündig 
        
        
         // Dummy Readout
         ADCSRA  |= (1<<ADSC);                                                 // Start ADC-Wandlung
         while (ADCSRA &(1<<ADSC));                                            // Auf Abschluss der Konvertierung warten
         x = ADC;                                                            // Das Ergebnis der 1. Wandlung in x speichern
    
        
      while (1)
      {
           
    
    
    
    
          ADCSRA  |= (1<<ADSC);             // Start ADC-Wandlung
          while (ADCSRA &(1<<ADSC))            // Führe ADC-Wandlung solange aus bis abgeschlossen
          ergebnis = ADC;                    // Ergebnis in ADC Port speichern
          ergebnis = ergebnis >> 6;            // Ergebnis 6x nach rechts veschieben
          
          
    
          
          if(ergebnis > 200)
          
          {
              PORTB LED1_on
          }
          
          else
          {
              PORTB LED1_off
          }
          
          
          
          
          
          if(ergebnis > 400)
          
          {
              PORTB LED2_on
          }
          
          else
          {
              PORTB LED2_off
          }
          
          
          
          
          
          if(ergebnis > 600)
          
          {
              PORTB LED3_on
          }
          
          else
          {
              PORTB LED3_off
          }
          
          
          
          
          if(ergebnis > 800)
          
          {
              PORTB LED4_on
          }
          
          
          else
          {
              PORTB LED4_off
              
          }
          
          
          
          
          
          
          if(ergebnis > 999)
          
          {
              
              if (TCNT1 < 32768)
    
              {
                  PORTB LED5_on
              }
              
              
              else
              
              {
                  PORTB LED5_off
                  
              }
              
          }
          
          else
          
          {
              PORTB LED5_off
        
        
         }
     
     
      }
         
      }


    Dazu in der "erweiterten" Ansicht den Button mit dem Hash/Lattenzaun anklicken: diesen da: [#], dann bekommst Du ins Editorfenster die Folge [Code.][/Code.] eingefügt. Und mitten zwischen diese beiden Klammerausdrücke scheibst Du dann Deinen Ausdruck:

    [Code.]/* Diesda
    ist
    nur Kommentar */[/Code.]

    Vorsicht - um den Automatismus zu betuppen habe ich als Demo in den Codeklammern oben einen "unsichtbaren" Punkt eingefügt. Das Ergebnis ist dann:
    Code:
    /*    Diesda
          ist
          nur Kommentar */
    Nachtrag:
    Achtung mit ADLAR; Du weißt schon dass Du damit Du den Wert manipulieren kannst?

    ......Bild hier  
    Geändert von oberallgeier (23.12.2018 um 15:47 Uhr)
    Ciao sagt der JoeamBerg

  2. #2
    Neuer Benutzer Öfters hier
    Registriert seit
    15.12.2018
    Beiträge
    5
    ich danke euch!

    Programm funktioniert ! es war die variabel X das Problem


    Viele Grüße

  3. #3
    Erfahrener Benutzer Robotik Visionär Avatar von 021aet04
    Registriert seit
    17.01.2005
    Ort
    Niklasdorf
    Alter
    37
    Beiträge
    5.093
    @oberallgeier
    Es geht um einen Atmega8, dieser hat nur Single Ended ADCs.

    @gioR
    Ich glaube nicht das es an der Variable "x" liegt, diese wird nur einmal geschrieben und dann passiert damit nichts mehr (weder lesen noch schreiben).

    MfG Hannes

Ähnliche Themen

  1. [ERLEDIGT] Frage zu einem Programm zur base
    Von Thorben W im Forum Robby RP6
    Antworten: 4
    Letzter Beitrag: 13.07.2013, 17:49
  2. Schon wieder Fuse Frage :-(
    Von Spongebob85 im Forum C - Programmierung (GCC u.a.)
    Antworten: 4
    Letzter Beitrag: 05.10.2007, 13:39
  3. Bitmap nicht sichtbar im Frontdesigner
    Von Zeroeightfifteen im Forum Konstruktion/CAD/3D-Druck/Sketchup und Platinenlayout Eagle & Fritzing u.a.
    Antworten: 0
    Letzter Beitrag: 31.12.2006, 14:21
  4. Frage zu Fuse-Bits
    Von rqd2 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 3
    Letzter Beitrag: 27.12.2006, 10:46
  5. Eagle: Vcc/GND-Pin von OPV nicht sichtbar?
    Von Minifriese im Forum Konstruktion/CAD/3D-Druck/Sketchup und Platinenlayout Eagle & Fritzing u.a.
    Antworten: 2
    Letzter Beitrag: 23.12.2006, 15:11

Berechtigungen

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

12V Akku bauen