Forum: Compiler & IDEs STM32 USB und CAN gleichzeitig nutzen


von Matthias K. (matthiask)


Lesenswert?

Beides allein ok.

Wenn ich jedoch bei gemeinsamer Nutzung den CAN Takt freigebe, mit:
1
// CAN1 Periph clock enable
2
RCC_APB1PeriphClockCmd(RCC_APB1Periph_CAN1, ENABLE);

geht USB nicht mehr. CAN-Interrupts gebe ich nicht frei.

Vemute, es liegt am gemeinsamen Interruptvektor:
1
USB_LP_CAN1_RX0_IRQHandler

Habe dort schon die verschiedenen Interruptquellen ausgefiltert, ohne 
Erfolg.

Gibts dazu Erfahrungen?

von (prx) A. K. (prx)


Lesenswert?

Bei den STM32F103 können USB und CAN nicht gleichzeitig sondern nur 
alternativ genutzt werden. In den STM32F105/7 steckt ein anderes 
USB-Modul drin, damit geht es.

"In medium-, high- and XL-density devices the USB and CAN share a 
dedicated 512-byte SRAM memory for data transmission and reception, and 
so they cannot be used concurrently (the shared SRAM is accessed through 
CAN and USB exclusively). The USB and CAN can be used in the same 
application but not at the same time."

von Matthias K. (matthiask)


Lesenswert?

Oh ja, glatt überlesen. Alternative Nutzung ist auch machbar.

Danke

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.