From 5cdd6b45f056d2009b3f8cb9e24b10af6115415d Mon Sep 17 00:00:00 2001 From: David Sidrane Date: Mon, 26 Jan 2015 11:24:20 -1000 Subject: Bug fix:The CRC detection on px4io was failing with -1 result, do the the fact that the PX4IO_Uploader had closed the port and Nuttx (now) disabled the clock and PX4IO_serial did not managed the clock --- src/drivers/px4io/px4io_serial.cpp | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src') diff --git a/src/drivers/px4io/px4io_serial.cpp b/src/drivers/px4io/px4io_serial.cpp index 16d917ef5..752f22d01 100644 --- a/src/drivers/px4io/px4io_serial.cpp +++ b/src/drivers/px4io/px4io_serial.cpp @@ -217,6 +217,9 @@ PX4IO_serial::~PX4IO_serial() stm32_unconfiggpio(PX4IO_SERIAL_TX_GPIO); stm32_unconfiggpio(PX4IO_SERIAL_RX_GPIO); + /* Disable APB clock for the USART peripheral */ + modifyreg32(STM32_RCC_APB2ENR, RCC_APB2ENR_USART6EN, 0); + /* and kill our semaphores */ sem_destroy(&_completion_semaphore); sem_destroy(&_bus_semaphore); @@ -247,6 +250,10 @@ PX4IO_serial::init() return -1; } + + /* Enable the APB clock for the USART peripheral */ + modifyreg32(STM32_RCC_APB2ENR, 0, RCC_APB2ENR_USART6EN); + /* configure pins for serial use */ stm32_configgpio(PX4IO_SERIAL_TX_GPIO); stm32_configgpio(PX4IO_SERIAL_RX_GPIO); -- cgit v1.2.3