From d2d6fc47afd898ecfb67ae1724ee68e1638f0c91 Mon Sep 17 00:00:00 2001 From: thread-liu Date: Tue, 27 Oct 2020 11:44:29 +0800 Subject: [PATCH] [update] openamp and rs485 driver --- .../board/ports/OpenAMP/drv_openamp.c | 4 ++-- .../stm32mp157a-st-discovery/board/ports/drv_rs485.c | 9 +++++---- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/bsp/stm32/stm32mp157a-st-discovery/board/ports/OpenAMP/drv_openamp.c b/bsp/stm32/stm32mp157a-st-discovery/board/ports/OpenAMP/drv_openamp.c index acdaa481a..12651efa1 100644 --- a/bsp/stm32/stm32mp157a-st-discovery/board/ports/OpenAMP/drv_openamp.c +++ b/bsp/stm32/stm32mp157a-st-discovery/board/ports/OpenAMP/drv_openamp.c @@ -236,11 +236,11 @@ int rt_hw_openamp_init(void) rt_hw_openamp_register(&dev_openamp, "openamp", 0, NULL); - if (rt_strcmp(RT_CONSOLE_DEVICE_NAME, "openamp") == 0) + if (RT_CONSOLE_DEVICE_NAME == "openamp") { rt_console_set_device(RT_CONSOLE_DEVICE_NAME); } - + return RT_EOK; } INIT_PREV_EXPORT(rt_hw_openamp_init); diff --git a/bsp/stm32/stm32mp157a-st-discovery/board/ports/drv_rs485.c b/bsp/stm32/stm32mp157a-st-discovery/board/ports/drv_rs485.c index e3130643e..44eba3be9 100644 --- a/bsp/stm32/stm32mp157a-st-discovery/board/ports/drv_rs485.c +++ b/bsp/stm32/stm32mp157a-st-discovery/board/ports/drv_rs485.c @@ -19,14 +19,13 @@ static rt_device_t serial = {0}; static struct rt_semaphore rx_sem = {0}; -/* rs485 send data callback function */ +/* uart send data callback function */ static rt_err_t rs485_output(rt_device_t dev, void * buffer) { - RS485_IN; - return RT_EOK; } +/* uart receive data callback function */ static rt_err_t rs485_input(rt_device_t dev, rt_size_t size) { rt_sem_release(&rx_sem); @@ -37,12 +36,13 @@ static rt_err_t rs485_input(rt_device_t dev, rt_size_t size) /* send string */ int rs485_send_data(char *tbuf, rt_uint16_t t_len) { - /* set rs485 mode */ + /* change rs485 mode */ RS485_OUT; /* send data */ rt_device_write(serial, 0, tbuf, t_len); + /* change rs485 mode */ RS485_IN; return RT_EOK; @@ -63,6 +63,7 @@ static void rs485_thread_entry(void *parameter) /* The data read through the serial port output dislocation */ ch = ch + 1; + /* send char */ rs485_send_data(&ch, 1); } } -- GitLab