Gast
#6242077
Hallo zusammen, bin dabei einen CANopen-Stack auf dem Nucleo-64 091RC Board mit dem µC STM32F091RC in Betrieb zu nehmen. Laut Datenblatt sollte es möglich sein CAN_RX an Pin PA11 und PB8 und und CAN_TX an Pin PA12 und PB9 zu hängen. Leider funktioniert es bei mir nur am Port B, wenn ich den CAN-Controller an Port A hänge werden keine CAN-Telegramme versendet. Hier der Code: //#define CAN_PORT_A #if defined( CAN_PORT_A ) RCC_AHBPeriphClockCmd( RCC_AHBPeriph_GPIOA, ENABLE ); GPIO_PinAFConfig( GPIOA, GPIO_PinSource11, GPIO_AF_4 ); /* see page 41 in data sheet */ GPIO_PinAFConfig( GPIOA, GPIO_PinSource12, GPIO_AF_4 ); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11 | GPIO_Pin_12; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; GPIO_Init( GPIOA, &GPIO_InitStructure ); #else RCC_AHBPeriphClockCmd( RCC_AHBPeriph_GPIOB, ENABLE ); GPIO_PinAFConfig( GPIOB, GPIO_PinSource8, GPIO_AF_4 ); /* see page 42 in data sheet */ GPIO_PinAFConfig( GPIOB, GPIO_PinSource9, GPIO_AF_4 ); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_9; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; GPIO_Init( GPIOB, &GPIO_InitStructure ); #endif Wäre super, wenn mir jemand helfen könnte.

