Hallo,
ich möchte an einem 32UC3A1512 2 SPI Slaves betreiben.
Probleme habe ich mit der Initialisierung.
Init:
1 | static void ad_spi_ft800_init(void)
|
2 | {
|
3 | // SPI options.
|
4 | spi_options_t ad_spiOptions =
|
5 | {
|
6 | .reg = 1,
|
7 | .baudrate = 8000000,
|
8 | .bits = 8,
|
9 | .spck_delay = 0,
|
10 | .trans_delay = 0,
|
11 | .stay_act = 1,
|
12 | .spi_mode = 0,
|
13 | .modfdis = 1
|
14 | };
|
15 |
|
16 | // Initialize as master.
|
17 | spi_initMaster(FT800_SPI, &ad_spiOptions);
|
18 |
|
19 | // Set SPI selection mode: variable_ps, pcs_decode, delay.
|
20 | spi_selectionMode(FT800_SPI, 0, 0, 0);
|
21 |
|
22 | // Enable SPI module.
|
23 | spi_enable(FT800_SPI);
|
24 |
|
25 | spi_setupChipReg(FT800_SPI, &ad_spiOptions, PLL0);//PLL0
|
26 | }
|
Hardware connection:
SPI 0
Chipselect Slave 1 = PA10 SPI0-NPCS[0]
chipselect Slave 2 = PA8 SPI0-NPCS[1]
hat da jemand schon Erfahrung damit.
Ich bekomme die Umschaltung der Slaves nicht hin.
Es läuft entweder der eine oder der andere.
Ich schalte die CS Leitungen, ich denke es liegt an der Init.