Gast
#2496126
hi zusammen,
ich habe mir Vorgenommen ein SPI-Slave auf den Tiny13V.
Es hapert an der Realisierung bzw. sind fragen offen.
1) Ist eine schleife nötig?
2) Kann ich den SCK-takt als Taster ansehen?
der code sieht zur zeit so aus
[c]
#include <avr/io.h>
#include <avr/interrupt.h>
#include "SPI-INIT.h"
unsigned int SPI_Write_Word(unsigned int word)
{
uint8_t MSB = 0b1000000; // Letzte bit
uint8_t temp = 0;
//CLK gibt den takt/übertagungsgeschwindigkeit vor MISO und MOSI halten
sich daran
if(SPI_CLK_PIN & (1<<SPI_CLK_PIN)) //wen sck auf High wird 1 bit gesende
{
if(MSB & word)SPI_MISO_PORT |= (1<<SPI_MISO_PIN); //Pin Miso high
else SPI_MISO_PORT &= ~(1<<SPI_MISO_PIN);
MSB <<=1; //MSB First
}
return (temp);
}
int main()
{
SPI_INIT();
int8_t wechsel = 0b10101010;
while(1)
{
if( !(SPI_SS_PIN & (1<<SPI_SS_PIN))) //Wenn SS auf low geht schicke MISO
{
SPI_Write_Word(wechsel); //MISO-funktion
}
}
return 0;
}
[c/]
ich bekomme die warnung ../Tiny-SW-SPI-SLAVE.c:36: warning: control
reaches end of non-void function
MfG Kluski