www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik STM32F10x Cortex M3 CAN Konfiguration


Autor: OstbahnBlues (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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:
void CAN_Configuration(void)
{
  CAN_InitTypeDef CAN_InitType;
  CAN_StructInit(&CAN_InitType);
  CAN_Init(&CAN_InitType);
  CAN_ITConfig(CAN_IT_FMP0, ENABLE);
}

hw config:
  RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2 | RCC_APB1Periph_CAN
                         , ENABLE);
/* Configure CAN Rx (PD1) */
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
  GPIO_Init(GPIOD, &GPIO_InitStructure );
  
  /* Configure CAN Tx (PD0) */
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
  GPIO_Init(GPIOD, &GPIO_InitStructure );

weiters:
/* Enable CAN RX Interrupts */
  NVIC_InitStructure.NVIC_IRQChannel = CAN_RX1_IRQChannel;
  NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
  NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
  NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
  NVIC_Init( &NVIC_InitStructure );

stm32f10x it:
void CAN_RX1_IRQHandler(void)
{
  GPIO_WriteBit(GPIOC, 0x0200, Bit_SET);
}

void CAN_SCE_IRQHandler(void)
{
  GPIO_WriteBit(GPIOC, 0x0200, Bit_SET);
}

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

Autor: Reinhard B. (brainstorm)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!

GPIOC konfiguriert? (Clock aktiviert, Mode, ...)

Mitn dem CAN Interface kenn ich mich (noch) nicht so aus. Wie schaut da 
die config aus?

mfg

Autor: Bätz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi, hat einer von euch im netz gute beispiele gefunden? auf der seite 
von st und / oder hitex finde ich nichts passendes. die datenblätter die 
ich bis jetzt gefunden habe, waren nicht sehr ergiebig.
ich hänge zur zeit an der spi schnittstelle. entweder ich bin zu sehr 
avr verwöhnt oder schlicht zu dumm.
mfg bätz

Autor: Reinhard B. (brainstorm)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die FWlib von ST ist sehr ausführlich programmiert imho.

Autor: Mario Nössing (Firma: nix) (ostbahnblues)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Sende Euch mal die lib-files für CAN. Genau diese Funktionen ruf ich 
dann zur Initialisierung und Configuration auf.

Bei USART hab ich eine lange Fehlersuche betrieben, bis ich dann bemerkt 
habe, dass die Clock nicht initialisiert war.
Noch ein kleines Detail am Rande, ich arbeite mit dem IAR Compiler, da 
sich für Keil usw. doch Beispielprogramme für CAN finden lassen.

Vielleicht sollt ich einfach mal diesen komischen CAN-Filter 
initialisieren?!

LG

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.