Probleme mit SW SPI (aus Atmel appnote 320)

Gast #1099965
Lesenswert?
• ▲
▼
Hallo zusammen,

ich habe folgendes Problem mit der Implementierung eines SW SPI's 
basierend auf der Appnote 320 von Atmel: Beschreibe ich ein Register des 
Slave (bei mir MPC2515) und lese es direkt danach wieder aus, bekomme 
ich einen Wert der doppelt so groß ist wieder zurück. Der Interpreter 
des Logicanalysers zeigt allerdings den richtigen Wert an. Wird da 
irgendein Register in der Assembler Routine einmal zu viel geschiftet?

Hier der Aufruf in der Funktion:
1
void mcp2515_write_register(const uint8_t address, uint8_t data )
2
{
3
    spi_enable_mcp2515();
4
    spi_putc(SPI_WRITE);
5
    spi_putc(address);
6
    spi_putc(data);
7
    spi_disable_mcp2515();
8
}
9

10
uint8_t mcp2515_read_register(const uint8_t address)
11
{
12
    uint8_t ret;
13

14
    spi_enable_mcp2515();
15
    spi_putc(SPI_READ);
16
    spi_putc(address);
17
    ret = spi_putc(0x00);
18
    spi_disable_mcp2515();
19

20
    return ret;
21
}
22

23
uint8_t i;
24
mcp2515_write_register( MCP_CANCTRL, 15);
25
i = mcp2515_read_register( MCP_CANCTRL);
26
usart_write ("i: %i\r\n",i);

i enthält nach dem aufruf den Wert 30

Hat jemand irgendwelche Ideen?

Vielen Dank!

Gruß

Nils
Angehängte Dateien:

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.