Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
BaiXuePrincess
rt-thread
提交
8956b2ea
R
rt-thread
项目概览
BaiXuePrincess
/
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,发现更多精彩内容 >>
提交
8956b2ea
编写于
4月 17, 2021
作者:
mysterywolf
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[stm32 pandora] implement drv_key and modify drv_sdcard
上级
6d7dafe0
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
137 addition
and
5 deletion
+137
-5
bsp/stm32/stm32l475-atk-pandora/board/Kconfig
bsp/stm32/stm32l475-atk-pandora/board/Kconfig
+7
-0
bsp/stm32/stm32l475-atk-pandora/board/SConscript
bsp/stm32/stm32l475-atk-pandora/board/SConscript
+4
-1
bsp/stm32/stm32l475-atk-pandora/board/ports/drv_key.c
bsp/stm32/stm32l475-atk-pandora/board/ports/drv_key.c
+122
-0
bsp/stm32/stm32l475-atk-pandora/board/ports/drv_sdcard.c
bsp/stm32/stm32l475-atk-pandora/board/ports/drv_sdcard.c
+3
-3
components/drivers/misc/pin.c
components/drivers/misc/pin.c
+1
-1
未找到文件。
bsp/stm32/stm32l475-atk-pandora/board/Kconfig
浏览文件 @
8956b2ea
...
...
@@ -15,6 +15,13 @@ menu "Onboard Peripheral Drivers"
select BSP_USING_UART1
default y
config BSP_USING_KEY
bool "Enable onboard keys"
select RT_USING_PIN
select RT_USING_TIMER_SOFT
select PKG_USING_MULTIBUTTON
default n
config BSP_USING_QSPI_FLASH
bool "Enable QSPI FLASH (W25Q128 qspi1)"
select BSP_USING_QSPI
...
...
bsp/stm32/stm32l475-atk-pandora/board/SConscript
浏览文件 @
8956b2ea
...
...
@@ -12,6 +12,9 @@ board.c
CubeMX_Config/Src/stm32l4xx_hal_msp.c
'''
)
if
GetDepend
(
'BSP_USING_KEY'
):
src
=
src
+
[
'ports/drv_key.c'
]
if
GetDepend
([
'BSP_USING_QSPI_FLASH'
]):
src
+=
Glob
(
'ports/drv_qspi_flash.c'
)
...
...
@@ -19,7 +22,7 @@ if GetDepend('BSP_USING_SPI_LCD'):
src
=
src
+
[
'ports/drv_lcd.c'
]
if
GetDepend
([
'BSP_USING_SDCARD'
]):
src
+=
Glob
(
'ports/
sdcard_port
.c'
)
src
+=
Glob
(
'ports/
drv_sdcard
.c'
)
if
GetDepend
([
'BSP_USING_ICM20608'
])
or
GetDepend
([
'BSP_USING_AHT10'
]):
src
+=
Glob
(
'ports/sensor_port.c'
)
...
...
bsp/stm32/stm32l475-atk-pandora/board/ports/drv_key.c
0 → 100644
浏览文件 @
8956b2ea
/*
* Copyright (c) 2006-2021, RT-Thread Development Team
*
* SPDX-License-Identifier: Apache-2.0
*
* Change Logs:
* Date Author Notes
* 2021-04-17 Meco Man first version
*/
#include <rtthread.h>
#ifdef BSP_USING_KEY
#define DBG_TAG "KEY"
#define DBG_LVL DBG_INFO
#include <rtdbg.h>
#include <rtdevice.h>
#include <drv_gpio.h>
#include <multi_button.h>
#define KEY0_PIN GET_PIN(D, 10)
#define KEY1_PIN GET_PIN(D, 9)
#define KEY2_PIN GET_PIN(D, 8)
#define KEY_WKUP_PIN GET_PIN(C, 13)
static
struct
rt_timer
key_timer
;
static
struct
button
key0
;
static
struct
button
key1
;
static
struct
button
key2
;
static
struct
button
key_wkup
;
/*---- user codes area begin ----*/
/*ssers can modify according to needs*/
static
void
key0_BtnCallback
(
void
*
state
)
{
rt_kprintf
(
"key0!
\n
"
);
}
static
void
key1_BtnCallback
(
void
*
state
)
{
rt_kprintf
(
"key1!
\n
"
);
}
static
void
key2_BtnCallback
(
void
*
state
)
{
rt_kprintf
(
"key2!
\n
"
);
}
static
void
key_wkup_BtnCallback
(
void
*
state
)
{
rt_kprintf
(
"key wkup!
\n
"
);
}
/*---- user codes area end ----*/
static
void
_cb_key_timer
(
void
*
parameter
)
{
button_ticks
();
}
static
uint8_t
_cb_key0_pin_level
(
void
)
{
return
rt_pin_read
(
KEY0_PIN
);
}
static
uint8_t
_cb_key1_pin_level
(
void
)
{
return
rt_pin_read
(
KEY1_PIN
);
}
static
uint8_t
_cb_key2_pin_level
(
void
)
{
return
rt_pin_read
(
KEY2_PIN
);
}
static
uint8_t
_cb_key_wkup_pin_level
(
void
)
{
return
rt_pin_read
(
KEY_WKUP_PIN
);
}
static
int
onboard_key_init
(
void
)
{
rt_timer_init
(
&
key_timer
,
"key timer"
,
_cb_key_timer
,
RT_NULL
,
rt_tick_from_millisecond
(
TICKS_INTERVAL
),
RT_TIMER_FLAG_PERIODIC
|
RT_TIMER_FLAG_SOFT_TIMER
);
if
(
rt_timer_start
(
&
key_timer
)
<
0
)
{
LOG_E
(
"drv_key timer initialization failed"
);
return
-
1
;
}
rt_pin_mode
(
KEY0_PIN
,
PIN_MODE_INPUT
);
rt_pin_mode
(
KEY1_PIN
,
PIN_MODE_INPUT
);
rt_pin_mode
(
KEY2_PIN
,
PIN_MODE_INPUT
);
rt_pin_mode
(
KEY_WKUP_PIN
,
PIN_MODE_INPUT
);
button_init
(
&
key0
,
_cb_key0_pin_level
,
PIN_LOW
);
button_init
(
&
key1
,
_cb_key1_pin_level
,
PIN_LOW
);
button_init
(
&
key2
,
_cb_key2_pin_level
,
PIN_LOW
);
button_init
(
&
key_wkup
,
_cb_key_wkup_pin_level
,
PIN_HIGH
);
/*---- user codes area begin ----*/
/*ssers can modify according to needs*/
button_attach
(
&
key0
,
PRESS_DOWN
,
key0_BtnCallback
);
button_attach
(
&
key1
,
PRESS_DOWN
,
key1_BtnCallback
);
button_attach
(
&
key2
,
PRESS_DOWN
,
key2_BtnCallback
);
button_attach
(
&
key_wkup
,
PRESS_UP
,
key_wkup_BtnCallback
);
/*---- user codes area end ----*/
button_start
(
&
key0
);
button_start
(
&
key1
);
button_start
(
&
key2
);
button_start
(
&
key_wkup
);
return
0
;
}
INIT_APP_EXPORT
(
onboard_key_init
);
#endif
bsp/stm32/stm32l475-atk-pandora/board/ports/
sdcard_port
.c
→
bsp/stm32/stm32l475-atk-pandora/board/ports/
drv_sdcard
.c
浏览文件 @
8956b2ea
...
...
@@ -23,7 +23,7 @@
#define DBG_LVL DBG_INFO
#include <rtdbg.h>
void
sd_mount
(
void
*
parameter
)
static
void
sd_mount
(
void
*
parameter
)
{
while
(
1
)
{
...
...
@@ -43,7 +43,7 @@ void sd_mount(void *parameter)
}
}
int
stm32
_sdcard_mount
(
void
)
static
int
onboard
_sdcard_mount
(
void
)
{
rt_thread_t
tid
;
...
...
@@ -67,7 +67,7 @@ int stm32_sdcard_mount(void)
return
RT_EOK
;
}
INIT_APP_EXPORT
(
stm32
_sdcard_mount
);
INIT_APP_EXPORT
(
onboard
_sdcard_mount
);
static
int
rt_hw_spi1_tfcard
(
void
)
{
...
...
components/drivers/misc/pin.c
浏览文件 @
8956b2ea
...
...
@@ -146,7 +146,7 @@ void rt_pin_write(rt_base_t pin, rt_base_t value)
}
FINSH_FUNCTION_EXPORT_ALIAS
(
rt_pin_write
,
pinWrite
,
write
value
to
hardware
pin
);
int
rt_pin_read
(
rt_base_t
pin
)
int
rt_pin_read
(
rt_base_t
pin
)
{
RT_ASSERT
(
_hw_pin
.
ops
!=
RT_NULL
);
return
_hw_pin
.
ops
->
pin_read
(
&
_hw_pin
.
parent
,
pin
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录