mikrocontroller.net

Forum: Compiler & IDEs AT32UC3A1512 SPI1 Master Problem


Autor: Thomas O. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe das Problem mit dem SPI1, dass zwar alle Leitungen genau das 
machen was sie sollen, jedoch das CS immer high bleibt. Hier mal mein 
Code zum Init.

void initSPI1()
{
spi_options_t spiOptions;
//GPIO MAP for SPARE SPI
static const gpio_map_t SPI1_GPIO_MAP = {
{ AVR32_SPI1_SCK_0_0_PIN, AVR32_SPI1_SCK_0_0_FUNCTION }, //SPI Clock
{ AVR32_SPI1_MISO_0_0_PIN, AVR32_SPI1_MISO_0_0_FUNCTION }, //MISO
{ AVR32_SPI1_MOSI_0_0_PIN, AVR32_SPI1_MOSI_0_0_FUNCTION }, //MOSI
{ AVR32_SPI1_NPCS_0_0_PIN, AVR32_SPI1_NPCS_0_0_FUNCTION }, //Chip Select 
NPCS
};

spiOptions.reg = SPI_PRESSURE_CHANNEL;
spiOptions.baudrate = SPI_MASTER_SPEED;
spiOptions.bits = SPI_BITS;
spiOptions.spck_delay = 10;
spiOptions.trans_delay = 10;
spiOptions.stay_act = 1;
spiOptions.spi_mode = 0;
spiOptions.modfdis = 1;

// Assign I/Os to SPI
gpio_enable_module(SPI1_GPIO_MAP, sizeof(SPI1_GPIO_MAP) / 
sizeof(SPI1_GPIO_MAP[0]));

// resets the SPI Controller
//spi_reset(PRESSURE_SPI);

// Initialize as master.
spi_initMaster(PRESSURE_SPI, &spiOptions);

// Set SPI selection mode: variable_ps, pcs_decode, delay.
spi_selectionMode(PRESSURE_SPI, 0, 0, 10);

// Initialize Sensor
spi_setupChipReg(PRESSURE_SPI, &spiOptions, FOSC0);

//spi_selectChip(PRESSURE_SPI, 0);

// Enable SPI module.
spi_enable(PRESSURE_SPI);
}

Und so sende ich Daten.

spi_selectChip(PRESSURE_SPI, SELECTCHIP_MODE);
spi_write(PRESSURE_SPI, 0x35);
spi_unselectChip(PRESSURE_SPI, SELECTCHIP_MODE);

Hat jemand eine Ahnung, warum das nicht funzen kann?

Danke schon mal und nebenbei Frohe Weihnachten ;).

Gruß Thomas

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.