Ponera att man använder en 16F87 jag tog egentligen bara en i mängden för att kolla lite på databladet. Vad kan man förvänta sig att picen klarar för överföring via SPI interfacet tanken är att den ska kommunicera med en ENC28J60 (ett ethernet -> SPI interface från microchip).
Så som jag tolkat det så kommer man inte kunna skicka någon data till picen förens man har tagit om hand om det gamla datat i buffertens 8bitar.
Nu kan jag inte programmera picar utan tänkte ta atg i det parallet med att bygga en ICP men det vore ju bra om det verkar rimligt om det går att göra med en pic eller om man måste välja en kraftfullare uC.
Men Pseudokod för interupt borde väl se ut ungefär:
Move SPIbuff, reg
Move 0,SPIreg %sätt lämplig flagga
if context == localport1
Move reg,localport1+1
if context == localport2
Move reg,localport2+1
return
För fallet att man vill kunna skilja på datat till två olika localports. vilket borde kunna klaras på 8-10 instruktioner om PIC:ar är register baserade och man inte sparar några gamla register världen på stacken.
8 instruktioner borde ju hinnas med på samma tid som bufferten fylls alltså borde man kunna komma upp i en utnyttjande grad på 75% de 2 första instruktionerna innan man har clearat flaggan. Det skulle behövas en utnyttjnade grad på 50% för att hantera 10Mbits ethernet
Tycker ni att ovanstående resonemang verkar rimligt och att man alltså får ca 25% kvar för att hantera data?
Finns det någon PIC som har mer än 8 bitars SSP buffert?
Jag vet attd et står i databladen men det står inte med i charten och det är en himla massa datablad så om någon vet

Mvh Dan