Chciałem przerobić Nucleo-32 z prockiem STM32F042k6. Zmienić domyślny port VCP_TX z portu PA2 (USART2) na port PA9 (USART1).
Rozlutowałem zworkę SB2 i połączyłem PA9(TXD) do pinu SB2 od strony USB (RXD od "przejściówki" USART->USB)
Pod fabrycznym podłączeniem całość działała bez zarzutu.Teraz brak nadawania.
Konfiguracja USART2:
- void USART_Config(void)
- {
- RCC->AHBENR |= RCC_AHBENR_GPIOAEN | RCC_AHBENR_GPIOBEN | RCC_AHBENR_GPIOFEN; //Enable GPIOA, GPIOB, GPIOF
- RCC->APB2ENR |= RCC_APB2ENR_USART1EN;
- GPIOA->MODER |= (GPIO_MODER_OUTPUT << (2*9)); //GPIO as output
- GPIOA->AFR[1] = (1 << 4*1); //AF1 (Alternate function) - PA9 - USART1
- USART1->BRR = SystemCoreClock/2/115200; //SystemCoreClock == CPU_FREQ
- USART1->CR1 = USART_CR1_TE | USART_CR1_UE; //Enable transmitting and USART
- }