Moin,
ich bin neu hier und dachte ihr könnt mir bei meinem Problem helfen.
Ich habe folgendes Problem. Und zwar arbeite ich an einem Roboter, der Objekten folgen soll.
hier sind genaue details:
https://learn.adafruit.com/pixy-pet-...-using-pixycam
Nun möchte ich, dass der Atmega32u4 auf dem Arduino leonardo Rev. 3 über den SPI bus mit der Pixy Cam (CMUcam5) kommuniziert.
Ich denke, dass ich die Register des Atmega32 richtig gesetzt habe, aber trotz allem kann ich die Kamera nicht ansprechen.
Anbei habe ich meinen Code beigefügt und hoffe das ihr mir helfen könnt.
Hinzu kommt das ich an der ICSP schnittstelle des Arduinos Keinen slave select habe und den nicht gezielt einstellen kann.
Code:
#define F_CPU 16000000UL
#define UARTaktiv //Auskommentieren, um UART zu deaktivieren
#include <avr/io.h>
#include <util/delay.h>
#include <avr/interrupt.h>
#include "Header/Timer.h"
#include "Header/ADC.h"
#include "Header/USART.h"
volatile uint8_t y=0;
void SPIinit(void)
{
DDRB = (1<<PINB1)|(1<<PINB2)|(1<<PINB0);
SPCR = 0b01110001;
SPSR= 0;
}
unsigned char SPI_start(unsigned char cData)
{
SPDR = cData;
while(!(SPSR & (1<<SPIF)));
return SPDR;
}
int main(void)
{
TimerInit();
USARTInit();
ADCInit();
PullupSet();
timer_init_0();
//sei();
SPIinit();
uint8_t Sensoren =0;
uint8_t Zustand = 0;
while(1)
{
_delay_ms(1);
SPI_start(0x00);
SPI_start(0xff);
SPI_start(0xff);
SPI_start(0xff);
USARTTransmit(SPI_start(0xff));
USARTTransmit(SPI_start(0xff));
USARTTransmit(SPI_start(0xff));
USARTTransmit(SPI_start(0xff));
USARTTransmit(SPI_start(0xff));
USARTTransmit(SPI_start(0xff));
USARTTransmit(SPI_start(0xff));
USARTTransmit(SPI_start(0xff));
USARTTransmit(SPI_start(0xff));
USARTTransmit(SPI_start(0xff));
USARTTransmit(SPI_start(0xff));
USARTTransmit(SPI_start(0xff));
USARTTransmit(SPI_start(0xff));
USARTTransmit(SPI_start(0xff));
USARTTransmit(13);
}
}
ich hoffe ihr könnt mir helfen
grüße im Vorraus
Lesezeichen