Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
缘_顺
rt-thread
提交
6013aafb
R
rt-thread
项目概览
缘_顺
/
rt-thread
与 Fork 源项目一致
Fork自
RT-Thread / rt-thread
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
rt-thread
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
6013aafb
编写于
4月 02, 2019
作者:
G
guozhanxin
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[bsp][stm32]添加 uart6 的支持
上级
762cdcc2
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
85 addition
and
20 deletion
+85
-20
bsp/stm32/libraries/HAL_Drivers/config/f4/dma_config.h
bsp/stm32/libraries/HAL_Drivers/config/f4/dma_config.h
+6
-0
bsp/stm32/libraries/HAL_Drivers/config/f4/uart_config.h
bsp/stm32/libraries/HAL_Drivers/config/f4/uart_config.h
+43
-20
bsp/stm32/libraries/HAL_Drivers/drv_usart.c
bsp/stm32/libraries/HAL_Drivers/drv_usart.c
+36
-0
未找到文件。
bsp/stm32/libraries/HAL_Drivers/config/f4/dma_config.h
浏览文件 @
6013aafb
...
...
@@ -123,6 +123,12 @@ extern "C" {
#define SPI4_TX_DMA_INSTANCE DMA2_Stream1
#define SPI4_TX_DMA_CHANNEL DMA_CHANNEL_4
#define SPI4_TX_DMA_IRQ DMA2_Stream1_IRQn
#elif defined(BSP_UART6_RX_USING_DMA) && !defined(UART6_RX_DMA_INSTANCE)
#define UART6_DMA_RX_IRQHandler DMA2_Stream1_IRQHandler
#define UART6_RX_DMA_RCC RCC_AHB1ENR_DMA2EN
#define UART6_RX_DMA_INSTANCE DMA2_Stream1
#define UART6_RX_DMA_CHANNEL DMA_CHANNEL_5
#define UART6_RX_DMA_IRQ DMA2_Stream1_IRQn
#endif
/* DMA2 stream2 */
...
...
bsp/stm32/libraries/HAL_Drivers/config/f4/uart_config.h
浏览文件 @
6013aafb
...
...
@@ -33,10 +33,10 @@ extern "C" {
#ifndef UART1_DMA_CONFIG
#define UART1_DMA_CONFIG \
{ \
.Instance = UART1_RX_DMA_INSTANCE, \
.channel = UART1_RX_DMA_CHANNEL, \
.dma_rcc = UART1_RX_DMA_RCC, \
.dma_irq = UART1_RX_DMA_IRQ, \
.Instance = UART1_RX_DMA_INSTANCE,
\
.channel = UART1_RX_DMA_CHANNEL,
\
.dma_rcc = UART1_RX_DMA_RCC,
\
.dma_irq = UART1_RX_DMA_IRQ,
\
}
#endif
/* UART1_DMA_CONFIG */
#endif
/* BSP_UART1_RX_USING_DMA */
...
...
@@ -56,10 +56,10 @@ extern "C" {
#ifndef UART2_DMA_CONFIG
#define UART2_DMA_CONFIG \
{ \
.Instance = UART2_RX_DMA_INSTANCE, \
.channel = UART2_RX_DMA_CHANNEL, \
.dma_rcc = UART2_RX_DMA_RCC, \
.dma_irq = UART2_RX_DMA_IRQ, \
.Instance = UART2_RX_DMA_INSTANCE,
\
.channel = UART2_RX_DMA_CHANNEL,
\
.dma_rcc = UART2_RX_DMA_RCC,
\
.dma_irq = UART2_RX_DMA_IRQ,
\
}
#endif
/* UART2_DMA_CONFIG */
#endif
/* BSP_UART2_RX_USING_DMA */
...
...
@@ -79,10 +79,10 @@ extern "C" {
#ifndef UART3_DMA_CONFIG
#define UART3_DMA_CONFIG \
{ \
.Instance = UART3_RX_DMA_INSTANCE, \
.channel = UART3_RX_DMA_CHANNEL, \
.dma_rcc = UART3_RX_DMA_RCC, \
.dma_irq = UART3_RX_DMA_IRQ, \
.Instance = UART3_RX_DMA_INSTANCE,
\
.channel = UART3_RX_DMA_CHANNEL,
\
.dma_rcc = UART3_RX_DMA_RCC,
\
.dma_irq = UART3_RX_DMA_IRQ,
\
}
#endif
/* UART3_DMA_CONFIG */
#endif
/* BSP_UART3_RX_USING_DMA */
...
...
@@ -102,10 +102,10 @@ extern "C" {
#ifndef UART4_DMA_CONFIG
#define UART4_DMA_CONFIG \
{ \
.Instance = UART4_RX_DMA_INSTANCE, \
.channel = UART4_RX_DMA_CHANNEL, \
.dma_rcc = UART4_RX_DMA_RCC, \
.dma_irq = UART4_RX_DMA_IRQ, \
.Instance = UART4_RX_DMA_INSTANCE,
\
.channel = UART4_RX_DMA_CHANNEL,
\
.dma_rcc = UART4_RX_DMA_RCC,
\
.dma_irq = UART4_RX_DMA_IRQ,
\
}
#endif
/* UART4_DMA_CONFIG */
#endif
/* BSP_UART4_RX_USING_DMA */
...
...
@@ -125,14 +125,37 @@ extern "C" {
#ifndef UART5_DMA_CONFIG
#define UART5_DMA_CONFIG \
{ \
.Instance = UART5_RX_DMA_INSTANCE, \
.channel = UART5_RX_DMA_CHANNEL, \
.dma_rcc = UART5_RX_DMA_RCC, \
.dma_irq = UART5_RX_DMA_IRQ, \
.Instance = UART5_RX_DMA_INSTANCE,
\
.channel = UART5_RX_DMA_CHANNEL,
\
.dma_rcc = UART5_RX_DMA_RCC,
\
.dma_irq = UART5_RX_DMA_IRQ,
\
}
#endif
/* UART5_DMA_CONFIG */
#endif
/* BSP_UART5_RX_USING_DMA */
#if defined(BSP_USING_UART6)
#ifndef UART6_CONFIG
#define UART6_CONFIG \
{ \
.name = "uart6", \
.Instance = USART6, \
.irq_type = USART6_IRQn, \
}
#endif
/* UART6_CONFIG */
#endif
/* BSP_USING_UART6 */
#if defined(BSP_UART6_RX_USING_DMA)
#ifndef UART6_DMA_CONFIG
#define UART6_DMA_CONFIG \
{ \
.Instance = UART6_RX_DMA_INSTANCE, \
.channel = UART6_RX_DMA_CHANNEL, \
.dma_rcc = UART6_RX_DMA_RCC, \
.dma_irq = UART6_RX_DMA_IRQ, \
}
#endif
/* UART6_DMA_CONFIG */
#endif
/* BSP_UART6_RX_USING_DMA */
#ifdef __cplusplus
}
#endif
...
...
bsp/stm32/libraries/HAL_Drivers/drv_usart.c
浏览文件 @
6013aafb
...
...
@@ -45,6 +45,9 @@ enum
#ifdef BSP_USING_UART5
UART5_INDEX
,
#endif
#ifdef BSP_USING_UART6
UART6_INDEX
,
#endif
#ifdef BSP_USING_LPUART1
LPUART1_INDEX
,
#endif
...
...
@@ -67,6 +70,9 @@ static struct stm32_uart_config uart_config[] =
#ifdef BSP_USING_UART5
UART5_CONFIG
,
#endif
#ifdef BSP_USING_UART6
UART6_CONFIG
,
#endif
#ifdef BSP_USING_LPUART1
LPUART1_CONFIG
,
#endif
...
...
@@ -431,6 +437,31 @@ void UART5_DMA_RX_IRQHandler(void)
#endif
/* defined(RT_SERIAL_USING_DMA) && defined(BSP_UART5_RX_USING_DMA) */
#endif
/* BSP_USING_UART5*/
#if defined(BSP_USING_UART6)
void
USART6_IRQHandler
(
void
)
{
/* enter interrupt */
rt_interrupt_enter
();
uart_isr
(
&
(
uart_obj
[
UART6_INDEX
].
serial
));
/* leave interrupt */
rt_interrupt_leave
();
}
#if defined(RT_SERIAL_USING_DMA) && defined(BSP_UART6_RX_USING_DMA)
void
UART6_DMA_RX_IRQHandler
(
void
)
{
/* enter interrupt */
rt_interrupt_enter
();
HAL_DMA_IRQHandler
(
&
uart_obj
[
UART6_INDEX
].
dma
.
handle
);
/* leave interrupt */
rt_interrupt_leave
();
}
#endif
/* defined(RT_SERIAL_USING_DMA) && defined(BSP_UART6_RX_USING_DMA) */
#endif
/* BSP_USING_UART6*/
#if defined(BSP_USING_LPUART1)
void
LPUART1_IRQHandler
(
void
)
{
...
...
@@ -608,6 +639,11 @@ static void stm32_uart_get_dma_config(void)
static
struct
dma_config
uart5_dma_rx
=
UART5_DMA_CONFIG
;
uart_config
[
UART5_INDEX
].
dma_rx
=
&
uart5_dma_rx
;
#endif
#ifdef BSP_UART6_RX_USING_DMA
uart_obj
[
UART6_INDEX
].
uart_dma_flag
=
1
;
static
struct
dma_config
uart6_dma_rx
=
UART6_DMA_CONFIG
;
uart_config
[
UART6_INDEX
].
dma_rx
=
&
uart6_dma_rx
;
#endif
#ifdef BSP_LPUART1_RX_USING_DMA
uart_obj
[
LPUART1_INDEX
].
uart_dma_flag
=
1
;
static
struct
dma_config
lpuart1_dma_rx
=
LPUART1_DMA_CONFIG
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录