Hallo zusammen,
ich habe die STM32 USB-FS-Device Driver-Bibliothek erfolgreich auf ein
AliExpress-STM32F103C8T6-Board portiert und kann mittlerweile von einer
.NET-Applikation LEDs ein-/ausschalten und den Zustand von Schaltern
abfragen. Nun möchte ich die inneren Zusammenhänge verstehen, um den
Code Schritt für Schritt in Richtung meines Anwendungsfalls zu bringen.
Dabei stellt sich mir die folgende Frage:
In der Datei usb_conf.h existieren die folgenden defines:
1 | /*-------------------------------------------------------------*/
|
2 | /* -------------- Buffer Description Table -----------------*/
|
3 | /*-------------------------------------------------------------*/
|
4 | /* buffer table base address */
|
5 | /* buffer table base address */
|
6 | #define BTABLE_ADDRESS (0x00)
|
7 |
|
8 | /* EP0 */
|
9 | /* rx/tx buffer base address */
|
10 | #define ENDP0_RXADDR (0x18)
|
11 | #define ENDP0_TXADDR (0x58)
|
12 |
|
13 | /* EP1 */
|
14 | /* tx buffer base address */
|
15 | #define ENDP1_TXADDR (0x100)
|
16 | #define ENDP1_RXADDR (0x104)
|
Mich verwirren diese "Magic-Numbers". Woher kommen die und wovon hängen
die ab? Danke für Eure Antworten!
Grüße
Klaus