Ejemplo n.º 1
0
static void uart_drivers_setup()
{
	/** Enable print UART1 **/
	gpio_set_uart_tx(GPIO_B, GPIO_PIN_6);
	gpio_set_uart_rx(GPIO_B, GPIO_PIN_7);
	uart_enable(UART_1, UART1_PRINT_BAUDRATE);
	boot_success("Starting UART_1 at %d\n", UART1_PRINT_BAUDRATE);
/* testing */
	gpio_set_uart_tx(GPIO_A, GPIO_PIN_2);
	gpio_set_uart_rx(GPIO_A, GPIO_PIN_3);
	uart_enable(UART_2,VN200_BAUDRATE);
	boot_success("Starting UART_2 at %d\n", VN200_BAUDRATE);

	gpio_set_uart_tx(GPIO_C, GPIO_PIN_10);
	gpio_set_uart_rx(GPIO_C, GPIO_PIN_11);
	uart_enable(UART_3, DATALINK_BAUDRATE);
	boot_success("Starting UART_3 at %d\n", DATALINK_BAUDRATE);


	gpio_set_uart_tx(GPIO_A, GPIO_PIN_0);
	gpio_set_uart_rx(GPIO_A, GPIO_PIN_1);
	uart_enable(UART_4, VN200_BAUDRATE);
	boot_success("Starting UART_4 at %d\n", VN200_BAUDRATE);

	gpio_set_uart_tx(GPIO_C, GPIO_PIN_12);
	gpio_set_uart_rx(GPIO_D, GPIO_PIN_2);
	uart_enable(UART_5, VN200_BAUDRATE);
	boot_success("Starting UART_5 at %d\n",VN200_BAUDRATE);
}
Ejemplo n.º 2
0
void platform_drivers_setup()
{
    // Set base address and AHB bit for all GPIO ports
    gpio_enable(GPIO_A);
    gpio_enable(GPIO_B);
    gpio_enable(GPIO_C);
    gpio_enable(GPIO_D);

    // Enable the AFIO
    rcc_apb_enable(RCC_APB_BUS_AFIO, RCC_APB_BIT_AFIO);

    // Start the TIM3 at ~32kHz
    timer_enable(TIM_3);
    timer_select_internal_clock(TIM_3, (rcc_sysclk_get_clock_frequency(
                                           RCC_SYSCLK_CLOCK_PCLK1_TIM) / 32768) - 1);
    timer_start(TIM_3, 0xFFFF, NULL, NULL);

    // Enable the print uart
    gpio_set_uart_tx(GPIO_A, GPIO_PIN_9);
    gpio_set_uart_rx(GPIO_A, GPIO_PIN_10);
    uart_enable(UART_1, PLATFORM_UART_PRINT_BAUDRATE);

    // Configure the DMA for the SPIs
    dma_enable(DMA_1_CH4);
    dma_enable(DMA_1_CH5);

    // Configure the SPI 2
    gpio_set_spi_clk(GPIO_B, GPIO_PIN_13);
    gpio_set_spi_miso(GPIO_B, GPIO_PIN_14);
    gpio_set_spi_mosi(GPIO_B, GPIO_PIN_15);
    spi_set_dma(SPI_2, DMA_1_CH4, DMA_1_CH5);
    spi_enable(SPI_2, 4000000, SPI_CLOCK_MODE_IDLE_LOW_RISING);

    // Configure the I2C 1
    gpio_set_i2c_scl(GPIO_B, GPIO_PIN_6);
    gpio_set_i2c_sda(GPIO_B, GPIO_PIN_7);
    i2c_enable(I2C_1, I2C_CLOCK_MODE_FAST);

    // Force inclusion of EXTI
    exti_set_handler(EXTI_LINE_Px0, NULL, NULL);
}