// device.reply(0x00); // Prime SPI with first reply
17
18
while(1){
19
20
/* if(device.receive())
21
{
22
23
int v = device.read(); // Read byte from master
24
25
v = (v + 1) % 0x100; // Add one to it, modulo 256
26
27
device.reply(v); // Make this the next reply
28
29
} */
30
31
pc.printf("throwline: %d",i++);
32
33
}
34
35
36
}
Leider kommt eine Fehlermeldung über den serial-Port:
"pinmap not found for peripheral" und das Programm funktioniert einfach
nicht. Klammere ich nun auch die Zeile aus:
Dann kommt die Fehlermeldung nicht mehr und es werden fleissig Daten
über den serial-Port gesendet.
Als Board verwende ich dieses Board hier:
http://www.st.com/web/en/catalog/tools/PF260320
Ein STM32F411RE, der uC ist von ARM und heisst genauso.
Ich habe schon versucht, mit Google die Fehlermeldungsbedeutung
herauszufinden:
"It means you are instantiating a peripheral (Serial, PwmOut, etc) on a
pin which does not support it."
Quelle:
http://developer.mbed.org/questions/5388/pinmap-not-found-for-peripheral/
Ich hab momentan keinen Plan, wie ich da weiter vorgehen soll.
Anscheinend ist also einer der Pins nicht für die Kombinationen
geeignet. Ich habe auch schon versucht, anhand der Pinbelegung im
Datenblatt nachzuschauen, dass keine Pins doppelt besetzt sind, was
nicht der Fall ist, es gibt diese Zuordnungstabelle:
1
// Generic signals namings
2
LED1=PA_5,
3
LED2=PA_5,
4
LED3=PA_5,
5
LED4=PA_5,
6
USER_BUTTON=PC_13,
7
SERIAL_TX=PA_2,
8
SERIAL_RX=PA_3,
9
USBTX=PA_2,
10
USBRX=PA_3,
11
I2C_SCL=PB_8,
12
I2C_SDA=PB_9,
13
SPI_MOSI=PA_7,
14
SPI_MISO=PA_6,
15
SPI_SCK=PA_5,
16
SPI_CS=PB_6,
17
PWM_OUT=PB_3,
Man kanns also ausschließen, dass RxD und TxD vielleicht auch die Pins
vom SPI-Port sind. Aber was könnte der Fehler sein?
>Ich habe auch schon versucht, anhand der Pinbelegung im>Datenblatt nachzuschauen, dass keine Pins doppelt besetzt sind, was>nicht der Fall ist, es gibt diese Zuordnungstabelle:
Ich sehe aber einige Doppeltzuweisungen...
Gruß Jonas
> Dazu habe ich folgendes Testprogramm aus Beispielen kombiniert
Das Resultat ist meistens, dass eben die Kombi nicht geht :)
Ich kenne leider die mbed-Umgebung nicht, wenn ich das richtig aus
deinem Beitrag sehe muss man in den "Generic signals namings" die
Portzuweisungen machen, die dann an den UART bzw. SPI übergeben werden,
korrekt?
Ich hab das Datenblatt nun mal kurz überflogen, aber ich kann in der
Pintabelle keinen Eintrag für "SPI_CS = PB_6" finden => PA_4 sollte laut
der Tabelle eher helfen =)
Probiers bitte aus und gib Rückmeldung.
Ralf