Hallo,
ich versuche beim ATA664251 eine LED zum Leuchten zu bringen(angeschlossen an CS1). Mein Problem ist dabei, dass der ATA664251 aus einem Attiny 167 und einem ATA664151 besteht und der CS1 Ausgang auf dem ATA664151 ist. Der ATA664151 kann jedoch nur über SPI angesprochen werden. Ich habe schon mehrere Versuche unternommen, jedoch noch keinen Erfolg damit gehabt die LED zum leuchten zu bringen. Ich habe meinen aktuellen Code unten angehängt.
/*
* GccApplication1.c
*
* Created: 12.06.2014 16:00:29
*
*/
#include <avr/io.h>
#include <util/delay.h>
int on=1;
char config=(0<<5)|(1<<0);
char setCS2On=(0<<7)|(0<<6)|(0<<5)|(1<<4)|(0<<3)|(1<<2)|(0<<1)|(0<<0);
char setCS2Off=(0<<7)|(0<<6)|(0<<5);
void SPI_MasterInit(void){
//PB1->MOSI und PB2->SCK
DDRB=(1<<DDB1)|(1<<DDB2);
DDRA=(1<<DDA7);
//PA7->NCS
PORTA|=(1<<PORTA7);
SPCR = (1<<SPE)|(1<<MSTR);
}
void SPI_MasterTransmit(char cData){
SPDR=cData;
while(!(SPSR & (1<<SPIF)));
}
void writeConfig(char part1, char part2){
PORTA&=~(1<<PORTA7);
_delay_us(1000);
//Transmit first byte
SPI_MasterTransmit(part1);
_delay_us(1000);
//Transmit second byte
SPI_MasterTransmit(part2);
_delay_us(1000);
PORTA|=(1<<PORTA7);
}
int main(){
SPI_MasterInit();
writeConfig(config,setCS2On);
while(1){
//_delay_ms(5000);
//writeConfig(config,setCS2Off);
//break;
}
}
ich versuche beim ATA664251 eine LED zum Leuchten zu bringen(angeschlossen an CS1). Mein Problem ist dabei, dass der ATA664251 aus einem Attiny 167 und einem ATA664151 besteht und der CS1 Ausgang auf dem ATA664151 ist. Der ATA664151 kann jedoch nur über SPI angesprochen werden. Ich habe schon mehrere Versuche unternommen, jedoch noch keinen Erfolg damit gehabt die LED zum leuchten zu bringen. Ich habe meinen aktuellen Code unten angehängt.
/*
* GccApplication1.c
*
* Created: 12.06.2014 16:00:29
*
*/
#include <avr/io.h>
#include <util/delay.h>
int on=1;
char config=(0<<5)|(1<<0);
char setCS2On=(0<<7)|(0<<6)|(0<<5)|(1<<4)|(0<<3)|(1<<2)|(0<<1)|(0<<0);
char setCS2Off=(0<<7)|(0<<6)|(0<<5);
void SPI_MasterInit(void){
//PB1->MOSI und PB2->SCK
DDRB=(1<<DDB1)|(1<<DDB2);
DDRA=(1<<DDA7);
//PA7->NCS
PORTA|=(1<<PORTA7);
SPCR = (1<<SPE)|(1<<MSTR);
}
void SPI_MasterTransmit(char cData){
SPDR=cData;
while(!(SPSR & (1<<SPIF)));
}
void writeConfig(char part1, char part2){
PORTA&=~(1<<PORTA7);
_delay_us(1000);
//Transmit first byte
SPI_MasterTransmit(part1);
_delay_us(1000);
//Transmit second byte
SPI_MasterTransmit(part2);
_delay_us(1000);
PORTA|=(1<<PORTA7);
}
int main(){
SPI_MasterInit();
writeConfig(config,setCS2On);
while(1){
//_delay_ms(5000);
//writeConfig(config,setCS2Off);
//break;
}
}