- fchao-Sinus-Wechselrichter AliExpress         
Ergebnis 1 bis 10 von 37

Thema: HC-SR04 & m32

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #3
    Erfahrener Benutzer Robotik Einstein Avatar von inka
    Registriert seit
    29.10.2006
    Ort
    nahe Dresden
    Alter
    77
    Beiträge
    2.180
    Hi Dirk,

    Zitat Zitat von Dirk Beitrag anzeigen
    INT1 des ATmega32 ist PD3,- das ist in dem Programm gemeint.
    Im RP6 System liegt INT1 des ATmega32 auf der CONTROL M32 am XBUS INT2 (also Pin 11).
    ok, das habe ich missverstanden, ist geändert


    Zitat Zitat von Dirk Beitrag anzeigen
    PB1 geht, aber ist schlecht erreichbar (nicht an einem Stecker).
    ich habe den PB1 von der m32 auf den USRBUS pin 3 gelegt, deshalb für mich besser erreichbar als der PC7, deshalb würde ich gerne bei PB1 bleiben - ein zweites EEPROM ist bei mir eher unwarscheinlich...


    Zitat Zitat von Dirk Beitrag anzeigen
    Als Ausgang definieren: DDRC |= IO_PC7;
    Auf HIGH setzen: PORTC |= IO_PC7;
    Auf LOW setzen: PORTC &= ~IO_PC7;
    würden die befehle für den PB1 so aussehen?

    Als Ausgang definieren: DDRB |= IO_PB1;
    Auf HIGH setzen: PORTB |= IO_PB1;
    Auf LOW setzen: PORTB &= ~IO_PB1;

    ich würde dann die funktion sonar ändern:

    Code:
    von:
    void sonar()
    {
        PORTB = 0x00; // clear to zero for 1 us
        _delay_us(1);
        PORTB = 0x01; // set high for 10us
        running = 1;  // sonar launched
        _delay_us(10);
        PORTB = 0x00; // clear
    }
    int __attribute__((noreturn))
    
    in:
    void sonar()
    {
        PORTB &= ~IO_PB1; // clear to zero for 1 us
        _delay_us(1);
        PORTB |= IO_PB1; // set high for 10us
        running = 1;  // sonar launched
        _delay_us(10);
        PORTB &= ~IO_PB1; // clear
    }
    int __attribute__((noreturn))
    
    EDIT: das oben hat der compiler angemeckert, das hier unten ging:
    
    void sonar()
    {
        PORTB &= ~(1<<PB0); // clear to zero for 1 us  PORTB &= ~IO_PB1;
        _delay_us(1);
        PORTB |= (1<<PB1); // set high for 10us  PORTB |= IO_PB1;
        running = 1;  // sonar launched
        _delay_us(10);
        PORTB &= ~(1<<PB0); // clear
    }
    int __attribute__((noreturn))



    fliegt mir da was um die ohren?

    Zitat Zitat von Dirk Beitrag anzeigen
    Die M32 läuft mit 16 MHz (nicht mit 12), so dass man diese und die folgende Definition anpassen müßte.
    ok geändert...

    Zitat Zitat von Dirk Beitrag anzeigen
    Auf der M32 ist der Timer 0 belegt. Aber: Timer 1 ist frei und nutzbar!
    meinst Du evtl. den Timer2 (TCCR2) - beim TCCR1 bekomme ich die meldung: TCCR1 not declared???
    Geändert von inka (21.10.2014 um 11:47 Uhr) Grund: void sonar() geändert
    gruß inka

Ähnliche Themen

  1. SRF02 und HC-SR04
    Von inka im Forum Robby RP6
    Antworten: 9
    Letzter Beitrag: 09.10.2014, 20:20
  2. Ansteuerung Ultraschallsensor HC-SR04
    Von icebreaker im Forum C - Programmierung (GCC u.a.)
    Antworten: 7
    Letzter Beitrag: 07.08.2013, 16:12
  3. Verkaufe Verkaufe RN-Control 1.4 Mega32 & 2x Servomotor & Entfernungssensor & PC Anschlusskabe
    Von Reiner47 im Forum Kaufen, Verkaufen, Tauschen, Suchen
    Antworten: 1
    Letzter Beitrag: 10.06.2013, 23:07
  4. Verkaufe [V] IC's & Diverse Platinen & SPS & Thin Clients & Display 6.4" Touch
    Von Noy im Forum Kaufen, Verkaufen, Tauschen, Suchen
    Antworten: 0
    Letzter Beitrag: 14.01.2012, 01:43
  5. Antworten: 5
    Letzter Beitrag: 22.11.2007, 10:17

Berechtigungen

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

Solar Speicher und Akkus Tests