Hallo,
Leider habe ich heute schon wieder ein Problem.
Heute wollte ich mal meine SRF05 er testen.
Hardware ist ein Atmega8 mit 16 Mhz, welcher I2C Slave ist.
Der eine Anschluss (SRF05 ist im Modus mit nur einem Port) ist B1.
Ach ja: Die LED auf dem SRF05 blinkt sehr schnell.
Ich verwende folgenden code: (Hoffentlich habe ich nicht wieder so einen dämlichen Leichtsinnsfehler wie letztes mal drin)
Über die serielle Schnittstelle bekomme ich dann immer 0 rein.
MfG avrrobotCode:#include "twislave.h" #include <util/twi.h> #include <avr/interrupt.h> #include <inttypes.h> #include <stdint.h> #include <stdlib.h> #include <avr/io.h> #include <util/delay.h> #define SLAVE_ADRESSE 0x50 int main() { init_twi_slave(SLAVE_ADRESSE); DDRB |= (1<<PB1); i2cdata[0] = 5; uint16_t leng; while(1) { DDRB |= (1<<PB1); PORTB |= (1<<PB1); _delay_us(20); PORTB &= ~(1<<PB1); DDRB &= ~(1<<PB1); while(!(PINB & (1<<PB1))); while((PINB & (1<<PB1))) { leng++; _delay_us(5); } i2cdata[0] = leng; leng = 0; _delay_ms(50); } }
Edit: Ok, Problem gefunden!







Zitieren

Lesezeichen