Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
混口饭吃,
rt-thread
提交
7f8e4ee1
R
rt-thread
项目概览
混口饭吃,
/
rt-thread
与 Fork 源项目一致
Fork自
Mr_Pangza / 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,发现更多精彩内容 >>
提交
7f8e4ee1
编写于
8月 11, 2021
作者:
C
chenyingchun0312
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[bsp/stm32l496-st-nucleo] update SConscript && remove uart_sample.c
上级
66c6774d
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
0 addition
and
105 deletion
+0
-105
bsp/stm32/stm32l496-st-nucleo/applications/SConscript
bsp/stm32/stm32l496-st-nucleo/applications/SConscript
+0
-4
bsp/stm32/stm32l496-st-nucleo/applications/uart_sample.c
bsp/stm32/stm32l496-st-nucleo/applications/uart_sample.c
+0
-101
未找到文件。
bsp/stm32/stm32l496-st-nucleo/applications/SConscript
浏览文件 @
7f8e4ee1
...
...
@@ -6,10 +6,6 @@ src = Split('''
main.c
'''
)
if
GetDepend
([
'BSP_USING_USBD'
]):
if
GetDepend
([
'RT_USB_DEVICE_CDC'
]):
src
+=
[
'uart_sample.c'
]
CPPPATH
=
[
str
(
Dir
(
'#'
)),
cwd
]
group
=
DefineGroup
(
'Applications'
,
src
,
depend
=
[
''
],
CPPPATH
=
CPPPATH
)
...
...
bsp/stm32/stm32l496-st-nucleo/applications/uart_sample.c
已删除
100644 → 0
浏览文件 @
66c6774d
/*
* Copyright (c) 2006-2018, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
* Change Logs:
* Date Author Notes
* 2018-08-15 misonyo first implementation.
*/
/*
* 程序清单:这是一个 串口 设备使用例程
* 例程导出了 uart_sample 命令到控制终端
* 命令调用格式:uart_sample uart2
* 命令解释:命令第二个参数是要使用的串口设备名称,为空则使用默认的串口设备
* 程序功能:通过串口输出字符串"hello RT-Thread!",然后错位输出输入的字符
*/
#include <rtthread.h>
#define SAMPLE_UART_NAME "vcom"
/* 串口设备名称 */
/* 用于接收消息的信号量 */
static
struct
rt_semaphore
rx_sem
;
static
rt_device_t
serial
;
/* 接收数据回调函数 */
static
rt_err_t
uart_input
(
rt_device_t
dev
,
rt_size_t
size
)
{
/* 串口接收到数据后产生中断,调用此回调函数,然后发送接收信号量 */
rt_sem_release
(
&
rx_sem
);
return
RT_EOK
;
}
static
void
serial_thread_entry
(
void
*
parameter
)
{
char
ch
;
while
(
1
)
{
/* 从串口读取一个字节的数据,没有读取到则等待接收信号量 */
while
(
rt_device_read
(
serial
,
-
1
,
&
ch
,
1
)
!=
1
)
{
/* 阻塞等待接收信号量,等到信号量后再次读取数据 */
rt_sem_take
(
&
rx_sem
,
RT_WAITING_FOREVER
);
}
/* 读取到的数据通过串口错位输出 */
ch
=
ch
+
1
;
rt_device_write
(
serial
,
0
,
&
ch
,
1
);
}
}
static
int
uart_sample
(
int
argc
,
char
*
argv
[])
{
rt_err_t
ret
=
RT_EOK
;
char
uart_name
[
RT_NAME_MAX
];
char
str
[]
=
"hello RT-Thread!
\r\n
"
;
if
(
argc
==
2
)
{
rt_strncpy
(
uart_name
,
argv
[
1
],
RT_NAME_MAX
);
}
else
{
rt_strncpy
(
uart_name
,
SAMPLE_UART_NAME
,
RT_NAME_MAX
);
}
/* 查找串口设备 */
serial
=
rt_device_find
(
uart_name
);
if
(
!
serial
)
{
rt_kprintf
(
"find %s failed!
\n
"
,
uart_name
);
return
RT_ERROR
;
}
/* 初始化信号量 */
rt_sem_init
(
&
rx_sem
,
"rx_sem"
,
0
,
RT_IPC_FLAG_FIFO
);
/* 以中断接收及轮询发送方式打开串口设备 */
rt_device_open
(
serial
,
RT_DEVICE_FLAG_INT_RX
);
//rt_device_open(serial, RT_DEVICE_FLAG_RDWR | RT_DEVICE_FLAG_INT_RX);
/* 设置接收回调函数 */
rt_device_set_rx_indicate
(
serial
,
uart_input
);
/* 发送字符串 */
rt_device_write
(
serial
,
0
,
str
,
(
sizeof
(
str
)
-
1
));
/* 创建 serial 线程 */
rt_thread_t
thread
=
rt_thread_create
(
"serial"
,
serial_thread_entry
,
RT_NULL
,
1024
,
25
,
10
);
/* 创建成功则启动线程 */
if
(
thread
!=
RT_NULL
)
{
rt_thread_startup
(
thread
);
}
else
{
ret
=
RT_ERROR
;
}
return
ret
;
}
/* 导出到 msh 命令列表中 */
MSH_CMD_EXPORT
(
uart_sample
,
uart
device
sample
);
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录