Hallo Leute
Ich arbeite zur Zeit an einem Diplomprojekt, welches auf den STM32F103
Cortex M3 basiert. Die Dokumentationen auf der Homepage von ST
ermöglichten schon einen netten Einstieg in die Toolchain, jedoch konnte
ich nichts über die CAN Bus Konfiguration finden.
Meine ersten Versuche waren leider erfolglos. Ich arbeite mit dem
Standard Eval Board STM3210B-EVAL und versuche mittels CANalyzer 5.2
eine Kommunikation aufzubauen. Könnt Ihr mir vielleicht weiterhelfen,
denn möglicherweise hab' ich nur irgendetwas vergessen.
Codeausschnitte bis jetzt:
main:
1 | void CAN_Configuration(void)
|
2 | {
|
3 | CAN_InitTypeDef CAN_InitType;
|
4 | CAN_StructInit(&CAN_InitType);
|
5 | CAN_Init(&CAN_InitType);
|
6 | CAN_ITConfig(CAN_IT_FMP0, ENABLE);
|
7 | }
|
hw config:
1 | RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2 | RCC_APB1Periph_CAN
|
2 | , ENABLE);
|
3 | /* Configure CAN Rx (PD1) */
|
4 | GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;
|
5 | GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
|
6 | GPIO_Init(GPIOD, &GPIO_InitStructure );
|
7 |
|
8 | /* Configure CAN Tx (PD0) */
|
9 | GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
|
10 | GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
|
11 | GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
|
12 | GPIO_Init(GPIOD, &GPIO_InitStructure );
|
weiters:
1 | /* Enable CAN RX Interrupts */
|
2 | NVIC_InitStructure.NVIC_IRQChannel = CAN_RX1_IRQChannel;
|
3 | NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
|
4 | NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
|
5 | NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
|
6 | NVIC_Init( &NVIC_InitStructure );
|
stm32f10x it:
1 | void CAN_RX1_IRQHandler(void)
|
2 | {
|
3 | GPIO_WriteBit(GPIOC, 0x0200, Bit_SET);
|
4 | }
|
5 |
|
6 | void CAN_SCE_IRQHandler(void)
|
7 | {
|
8 | GPIO_WriteBit(GPIOC, 0x0200, Bit_SET);
|
9 | }
|
Wollte damit nur bewirken, dass wenn irgendeine Nachricht (unbeachtet
dessen welche Msg ID) hereinkommt, eine LED leuchten soll.
Falls jedoch wer einen Beispiel Code hätte, wär ich auch wahnsinnig
dankbar!
Danke im Vorhinein!
LG
OstbahnBlues