Skip to content

Commit c5e307c

Browse files
committed
update
update projects update project_06 update stlink.gdbServerDeviceName fix name to 星火 1 号
1 parent f2b89dc commit c5e307c

38 files changed

+111
-234
lines changed

README.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
## 简介
22

3-
星火一号”,一款专为工程师和高校学生设计的嵌入式 RTOS 开发学习板。在这个科技飞速发展的时代,嵌入式系统已经成为了现代工业、交通、通信等众多领域的核心驱动力。而 RTOS 实时操作系统作为嵌入式领域的基石,更是工程师们必须熟练掌握的核心技术。作为业界主流的 RTOS 实时操作系统 RT-Thread,我们有义务帮助更多开发者掌握这项技术。为此,我们精心打造了一款专为工程师和高校学生设计的嵌入式开发学习板。
3+
星火 1 号”,一款专为工程师和高校学生设计的嵌入式 RTOS 开发学习板。在这个科技飞速发展的时代,嵌入式系统已经成为了现代工业、交通、通信等众多领域的核心驱动力。而 RTOS 实时操作系统作为嵌入式领域的基石,更是工程师们必须熟练掌握的核心技术。作为业界主流的 RTOS 实时操作系统 RT-Thread,我们有义务帮助更多开发者掌握这项技术。为此,我们精心打造了一款专为工程师和高校学生设计的嵌入式开发学习板。
44

5-
星火一号主控选用了目前行业中比较常用且学习门槛较低的 STM32F407,性能强劲、功能丰富,完全能够满足嵌入式入门的需求。此开发板不仅具有众多的板载资源(Flash 存储、WIFI 通信、多个传感器),还支持丰富的扩展接口,让您轻松实现各种复杂的应用场景。通过使用这款开发学习板,您将能够深入了解 RTOS/RT-Thread 的工作原理,提升自己的技能水平,为当前以及未来的职业生涯做好充分准备。
5+
星火 1 号主控选用了目前行业中比较常用且学习门槛较低的 STM32F407,性能强劲、功能丰富,完全能够满足嵌入式入门的需求。此开发板不仅具有众多的板载资源(Flash 存储、WIFI 通信、多个传感器),还支持丰富的扩展接口,让您轻松实现各种复杂的应用场景。通过使用这款开发学习板,您将能够深入了解 RTOS/RT-Thread 的工作原理,提升自己的技能水平,为当前以及未来的职业生涯做好充分准备。
66

77
![board-small](docs/images/board-small.jpg)
88

@@ -44,7 +44,7 @@ sdk-bsp-stm32f407-spark 支持 RT-Thread Studio 和 MDK 开发。
4444

4545
### RT-Thread Studio 开发
4646

47-
1. 打开 RT-Thread Studio 的包管理器,安装 ` 星火一号开发板 ` 资源包
47+
1. 打开 RT-Thread Studio 的包管理器,安装 ` 星火 1 号开发板 ` 资源包
4848
2. 安装完成后,选择基于 BSP 创建工程即可
4949

5050
### MDK 开发
@@ -57,5 +57,5 @@ sdk-bsp-stm32f407-spark 支持 RT-Thread Studio 和 MDK 开发。
5757

5858
## 交流平台
5959

60-
星火一号 感兴趣的小伙伴可以加入 QQ 群 - RT-Thread 星火学习板 群号: 839583041、852752783。
60+
星火 1 号 感兴趣的小伙伴可以加入 QQ 群 - RT-Thread 星火学习板 群号: 839583041、852752783。
6161

libraries/Board_Drivers/lcd/drv_lcd.c

+6-35
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
#include "string.h"
1717
#include "drv_lcd.h"
1818
#include "drv_lcd_font.h"
19-
#include <rttlogo.h>
2019

2120
#define DRV_DEBUG
2221
#define LOG_TAG "drv.lcd"
@@ -1237,22 +1236,22 @@ int drv_lcd_init(void)
12371236
hsram1.Init.PageSize = FSMC_PAGE_SIZE_NONE;
12381237
// /* Timing */
12391238

1240-
read_timing.AddressSetupTime = 0XF; //地址建立时间(ADDSET)为16个HCLK 1/168M=6ns*16=96ns
1241-
read_timing.AddressHoldTime = 0x00; //地址保持时间(ADDHLD)模式A未用到
1239+
read_timing.AddressSetupTime = 0XF; //地址建立时间(ADDSET)为16个HCLK 1/168M=6ns*16=96ns
1240+
read_timing.AddressHoldTime = 0x00; //地址保持时间(ADDHLD)模式A未用到
12421241
read_timing.DataSetupTime = 60; //数据保存时间为60个HCLK =6*60=360ns
12431242
read_timing.BusTurnAroundDuration = 0x00;
12441243
read_timing.CLKDivision = 0x00;
12451244
read_timing.DataLatency = 0x00;
1246-
read_timing.AccessMode = FSMC_ACCESS_MODE_A; //模式A
1245+
read_timing.AccessMode = FSMC_ACCESS_MODE_A; //模式A
12471246

12481247

1249-
write_timing.AddressSetupTime =9; //地址建立时间(ADDSET)为9个HCLK =54ns
1250-
write_timing.AddressHoldTime = 0x00; //地址保持时间(A
1248+
write_timing.AddressSetupTime =9; //地址建立时间(ADDSET)为9个HCLK =54ns
1249+
write_timing.AddressHoldTime = 0x00; //地址保持时间(A
12511250
write_timing.DataSetupTime = 8; //数据保存时间为6ns*9个HCLK=54ns
12521251
write_timing.BusTurnAroundDuration = 0x00;
12531252
write_timing.CLKDivision = 0x00;
12541253
write_timing.DataLatency = 0x00;
1255-
write_timing.AccessMode = FSMC_ACCESS_MODE_A; //模式A
1254+
write_timing.AccessMode = FSMC_ACCESS_MODE_A; //模式A
12561255

12571256
if (HAL_SRAM_Init(&hsram1, &read_timing, &write_timing) != HAL_OK)
12581257
{
@@ -1488,31 +1487,3 @@ void lcd_fill_test(int argc, void **argv)
14881487
}
14891488
MSH_CMD_EXPORT(lcd_fill_test, lcd fill test for mcu lcd);
14901489
#endif
1491-
1492-
int lcd_show_all_round(void)
1493-
{
1494-
lcd_clear(WHITE);
1495-
1496-
/* show RT-Thread logo */
1497-
lcd_show_image(0, 0, 240, 69, image_rttlogo);
1498-
1499-
/* set the background color and foreground color */
1500-
lcd_set_color(WHITE, BLACK);
1501-
1502-
/* show some string on lcd */
1503-
lcd_show_string(10, 69, 16, "Hello, RT-Thread!");
1504-
lcd_show_string(10, 69+16, 24, "RT-Thread");
1505-
lcd_show_string(10, 69+16+24, 32, "RT-Thread");
1506-
1507-
/* draw a line on lcd */
1508-
lcd_draw_line(0, 69+16+24+32, 240, 69+16+24+32);
1509-
1510-
/* draw a concentric circles */
1511-
lcd_draw_point(120, 194);
1512-
for (int i = 0; i < 46; i += 4)
1513-
{
1514-
lcd_draw_circle(120, 194, i);
1515-
}
1516-
return 0;
1517-
}
1518-
INIT_APP_EXPORT(lcd_show_all_round);

projects/01_basic_led_blink/.settings/01_basic_led_blink.STLink.Debug.rttlaunch

+1-1
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@
5151
<stringAttribute key="org.eclipse.debug.ui.ATTR_CONSOLE_ENCODING" value="GBK"/>
5252
<stringAttribute key="org.rtthread.studio.debug.gdbjtag.stlink.adapterName" value="ST-LINK"/>
5353
<booleanAttribute key="org.rtthread.studio.debug.gdbjtag.stlink.doContinue" value="true"/>
54-
<stringAttribute key="org.rtthread.studio.debug.gdbjtag.stlink.gdbServerDeviceName" value=""/>
54+
<stringAttribute key="org.rtthread.studio.debug.gdbjtag.stlink.gdbServerDeviceName" value="STM32F407ZGTX"/>
5555
<stringAttribute key="org.rtthread.studio.debug.gdbjtag.stlink.gdbServerExecutable" value="${debugger_install_path}/${stlink_debugger_relative_path}/ST-LINK_gdbserver.exe"/>
5656
<stringAttribute key="org.rtthread.studio.debug.gdbjtag.stlink.stlinkGdbServer" value="${debugger_install_path}/${stlink_debugger_relative_path}/tools\bin\STM32_Programmer_CLI.exe"/>
5757
<booleanAttribute key="org.rtthread.studio.debug.gdbjtag.stlink.useRemoteTarget" value="true"/>

projects/01_basic_led_blink/applications/main.c

-2
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,6 @@
2020
#define PIN_LED_B GET_PIN(F, 11) // PF11 : LED_B --> LED
2121
#define PIN_LED_R GET_PIN(F, 12) // PF12 : LED_R --> LED
2222

23-
24-
2523
int main(void)
2624
{
2725
unsigned int count = 1;

projects/02_basic_rgb_led/.settings/02_basic_rgb_led.STLink.Debug.rttlaunch

+1-1
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@
5151
<stringAttribute key="org.eclipse.debug.ui.ATTR_CONSOLE_ENCODING" value="GBK"/>
5252
<stringAttribute key="org.rtthread.studio.debug.gdbjtag.stlink.adapterName" value="ST-LINK"/>
5353
<booleanAttribute key="org.rtthread.studio.debug.gdbjtag.stlink.doContinue" value="true"/>
54-
<stringAttribute key="org.rtthread.studio.debug.gdbjtag.stlink.gdbServerDeviceName" value=""/>
54+
<stringAttribute key="org.rtthread.studio.debug.gdbjtag.stlink.gdbServerDeviceName" value="STM32F407ZGTX"/>
5555
<stringAttribute key="org.rtthread.studio.debug.gdbjtag.stlink.gdbServerExecutable" value="${debugger_install_path}/${stlink_debugger_relative_path}/ST-LINK_gdbserver.exe"/>
5656
<stringAttribute key="org.rtthread.studio.debug.gdbjtag.stlink.stlinkGdbServer" value="${debugger_install_path}/${stlink_debugger_relative_path}/tools\bin\STM32_Programmer_CLI.exe"/>
5757
<booleanAttribute key="org.rtthread.studio.debug.gdbjtag.stlink.useRemoteTarget" value="true"/>

projects/02_basic_rgb_led/README.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
![RGB 电路原理图](figures/led_circuit.png)
1212

1313
如上图所示, RGB-LED 属于共阳 LED , 阴极分别与单片机的引脚连接,其中红色 LED 对应 PF12 号引脚,蓝色 LED 对应 PF11 号引脚。单片机对应的引脚输出低电平即可点亮对应的 LED ,输出高电平则会熄灭对应的 LED。
14+
> 注意:由于生产批次不同,具体LED灯的颜色可能会不一样,以实际开发板上颜色为准。
1415
1516
RGB-LED 在开发板中的位置如下图所示:
1617

@@ -25,7 +26,7 @@ RGB-LED 对应的单片机引脚定义可以通过查阅头文件 `/drivers/drv_
2526
#define PIN_LED_R GET_PIN(F, 12) // PF12 : LED_R --> LED
2627
```
2728

28-
RGB-LED 灯变换的源代码位于 /examples/02_basic_rgb_led/applications/main.c 中。
29+
RGB-LED 灯变换的源代码位于 /projects/02_basic_rgb_led/applications/main.c 中。
2930

3031
```c
3132
int main(void)

projects/02_basic_rgb_led/applications/main.c

-1
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,6 @@ int main(void)
5151

5252
do
5353
{
54-
5554
/* 获得组编号 */
5655
group_current = count % group_num;
5756

projects/03_basic_key/.settings/03_basic_key.STLink.Debug.rttlaunch

+1-1
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@
5151
<stringAttribute key="org.eclipse.debug.ui.ATTR_CONSOLE_ENCODING" value="GBK"/>
5252
<stringAttribute key="org.rtthread.studio.debug.gdbjtag.stlink.adapterName" value="ST-LINK"/>
5353
<booleanAttribute key="org.rtthread.studio.debug.gdbjtag.stlink.doContinue" value="true"/>
54-
<stringAttribute key="org.rtthread.studio.debug.gdbjtag.stlink.gdbServerDeviceName" value="STM32F103VETx"/>
54+
<stringAttribute key="org.rtthread.studio.debug.gdbjtag.stlink.gdbServerDeviceName" value="STM32F407ZGTX"/>
5555
<stringAttribute key="org.rtthread.studio.debug.gdbjtag.stlink.gdbServerExecutable" value="${debugger_install_path}/${stlink_debugger_relative_path}/ST-LINK_gdbserver.exe"/>
5656
<stringAttribute key="org.rtthread.studio.debug.gdbjtag.stlink.stlinkGdbServer" value="${debugger_install_path}/${stlink_debugger_relative_path}/tools\bin\STM32_Programmer_CLI.exe"/>
5757
<booleanAttribute key="org.rtthread.studio.debug.gdbjtag.stlink.useRemoteTarget" value="true"/>

projects/03_basic_key/README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,12 @@ KEY 在开发板中的位置如下图所示:
1717
![按键位置](figures/board.png)
1818
## 软件说明
1919

20-
KEY0(LEFT) 对应的单片机引脚定义可以通过查阅头文件 `/drivers/drv_gpio.h` 获知
20+
KEY0(LEFT) 对应的单片机引脚定义
2121
```c
2222
#define PIN_KEY0 GET_PIN(C, 0) // PC0: KEY0 --> KEY
2323
```
2424

25-
按键输入的源代码位于 /examples/03_basic_key/applications/main.c 中。在 main 函数中,首先为了实验效果清晰可见,板载 RGB 红色 LED 作为 KEY0(LEFT) 的状态指示灯,设置 RGB 红灯引脚的模式为输出模式,然后设置 PIN_KEY0 引脚为输入模式,最后在 while 循环中通过 rt_pin_read(PIN_KEY0) 判断 KEY0(LEFT) 的电平状态,并作 50ms 的消抖处理,如果成功判断 KEY0(LEFT) 为低电平状态(即按键按下)则打印输出 “KEY0 pressed!” 并且指示灯亮,否则指示灯熄灭。
25+
按键输入的源代码位于 /projects/03_basic_key/applications/main.c 中。在 main 函数中,首先为了实验效果清晰可见,板载 RGB 红色 LED 作为 KEY0(LEFT) 的状态指示灯,设置 RGB 红灯引脚的模式为输出模式,然后设置 PIN_KEY0 引脚为输入模式,最后在 while 循环中通过 rt_pin_read(PIN_KEY0) 判断 KEY0(LEFT) 的电平状态,并作 50ms 的消抖处理,如果成功判断 KEY0(LEFT) 为低电平状态(即按键按下)则打印输出 “KEY0 pressed!” 并且指示灯亮,否则指示灯熄灭。
2626

2727
```c
2828
int main(void)
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

projects/04_basic_beep_led/.settings/04_basic_beep_led.STLink.Debug.rttlaunch

+1-1
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@
5151
<stringAttribute key="org.eclipse.debug.ui.ATTR_CONSOLE_ENCODING" value="GBK"/>
5252
<stringAttribute key="org.rtthread.studio.debug.gdbjtag.stlink.adapterName" value="ST-LINK"/>
5353
<booleanAttribute key="org.rtthread.studio.debug.gdbjtag.stlink.doContinue" value="true"/>
54-
<stringAttribute key="org.rtthread.studio.debug.gdbjtag.stlink.gdbServerDeviceName" value="STM32F103VETx"/>
54+
<stringAttribute key="org.rtthread.studio.debug.gdbjtag.stlink.gdbServerDeviceName" value="STM32F407ZGTX"/>
5555
<stringAttribute key="org.rtthread.studio.debug.gdbjtag.stlink.gdbServerExecutable" value="${debugger_install_path}/${stlink_debugger_relative_path}/ST-LINK_gdbserver.exe"/>
5656
<stringAttribute key="org.rtthread.studio.debug.gdbjtag.stlink.stlinkGdbServer" value="${debugger_install_path}/${stlink_debugger_relative_path}/tools\bin\STM32_Programmer_CLI.exe"/>
5757
<booleanAttribute key="org.rtthread.studio.debug.gdbjtag.stlink.useRemoteTarget" value="true"/>

projects/04_basic_beep_led/README.md

+7-7
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
# 蜂鸣器和 led 控制例程
1+
# 蜂鸣器和 LED 控制例程
22

33
## 简介
44

5-
本例程主要功能为使用按键控制蜂鸣器和 led,当按下 KEY0 蓝色 LED 亮起,当按下 KEY1 后红色 LED 亮起,当按下 KEY2 后 LED 熄灭,当按住 WK_UP 时蜂鸣器鸣叫,松开 WK_UP 后蜂鸣器关闭。其中 KEY0 KEY1 KEY2 三个按键会触发中断,通过 pin 设备的中断回调函数控制电机, WK_UP 按键通过轮询的方式控制蜂鸣器鸣叫。
5+
本例程主要功能为使用按键控制蜂鸣器和 led,当按下 KEY0 蓝色 LED 亮起,当按下 KEY1 后红色 LED 亮起,当按下 KEY2 后 LED 熄灭,当按住 WK_UP 时蜂鸣器鸣叫,松开 WK_UP 后蜂鸣器关闭。其中 KEY0 KEY1 KEY2 三个按键会触发中断,通过 pin 设备的中断回调函数控制 LED, WK_UP 按键通过轮询的方式控制蜂鸣器鸣叫。
66

77
## 硬件说明
88

@@ -16,9 +16,9 @@
1616

1717
## 软件说明
1818

19-
按键控制蜂鸣器和 LED 的源代码位于 /examples/04_basic_beep_led/applications/main.c 中。
19+
按键控制蜂鸣器和 LED 的源代码位于 /projects/04_basic_beep_led/applications/main.c 中。
2020

21-
1. 查对应原理图可知, KEY0 、 KEY1 、 KEY2 按下为低电平,松开为高电平, WK_UP 按下为高电平,松开为低电平。所以在 main 函数中,首先将 KEY0 、 KEY1 、 KEY2 三个按键引脚配置为上拉输入模式, WK_UP 按键设置为下拉输入模式,将 PIN_MOTOR_A PIN_MOTOR_B PIN_BEEP 引脚设置为输出模式。
21+
1. 查对应原理图可知, KEY0 、 KEY1 、 KEY2 按下为低电平,松开为高电平, WK_UP 按下为高电平,松开为低电平。所以在 main 函数中,首先将 KEY0 、 KEY1 、 KEY2 三个按键引脚配置为上拉输入模式, WK_UP 按键设置为下拉输入模式,将 PIN_LED_B、PIN_LED_R、PIN_BEEP 引脚设置为输出模式。
2222
2. 然后使用 rt_pin_attach_irq 函数分别设置 KEY0 、 KEY1 、 KEY2 按键中断为下降沿触发中断并且绑定回调函数、设置回调函数相应的入参, 使用 rt_pin_irq_enable 函数使能这三个按键中断。
2323
3. 最后在 while 循环里轮询 WK_UP 的按键状态,当成功判断 WK_UP 按键按下时调用 beep_ctrl(1) 蜂鸣器鸣叫,否则调用 beep_ctrl(0) 蜂鸣器关闭。
2424

@@ -82,15 +82,15 @@ void irq_callback(void *args)
8282
switch (sign)
8383
{
8484
case PIN_KEY0:
85-
motor_ctrl(LED_BLUE);
85+
led_ctrl(LED_BLUE);
8686
LOG_D("KEY0 interrupt. blue light on.");
8787
break;
8888
case PIN_KEY1:
89-
motor_ctrl(LED_RED);
89+
led_ctrl(LED_RED);
9090
LOG_D("KEY1 interrupt. red light on.");
9191
break;
9292
case PIN_KEY2:
93-
motor_ctrl(LED_STOP);
93+
led_ctrl(LED_STOP);
9494
LOG_D("KEY2 interrupt. light off.");
9595
break;
9696
default:

projects/04_basic_beep_led/applications/main.c

+20-22
Original file line numberDiff line numberDiff line change
@@ -17,27 +17,25 @@
1717
#include <rtdbg.h>
1818

1919
/* 配置 KEY 输入引脚 */
20-
#define PIN_KEY0 GET_PIN(C, 0) // PC0: KEY0 --> KEY
21-
#define PIN_KEY1 GET_PIN(C, 1) // PC1 : KEY1 --> KEY
22-
#define PIN_KEY2 GET_PIN(C, 4) // PC4 : KEY2 --> KEY
23-
#define PIN_WK_UP GET_PIN(C, 5) // PC5: WK_UP --> KEY
20+
#define PIN_KEY0 GET_PIN(C, 0) // PC0: KEY0 --> KEY
21+
#define PIN_KEY1 GET_PIN(C, 1) // PC1: KEY1 --> KEY
22+
#define PIN_KEY2 GET_PIN(C, 4) // PC4: KEY2 --> KEY
23+
#define PIN_WK_UP GET_PIN(C, 5) // PC5: WK_UP --> KEY
2424

2525
/* 配置蜂鸣器引脚 */
26-
#define PIN_BEEP GET_PIN(B, 0) // PA1: BEEP --> BEEP (PB1)
26+
#define PIN_BEEP GET_PIN(B, 0) // PA1: BEEP --> BEEP (PB1)
2727

2828
/* 配置 LED 灯引脚 */
29-
#define PIN_LED_B GET_PIN(F, 11) // PF11 : LED_B --> LED
30-
#define PIN_LED_R GET_PIN(F, 12) // PF12 : LED_R --> LED
29+
#define PIN_LED_B GET_PIN(F, 11) // PF11: LED_B --> LED
30+
#define PIN_LED_R GET_PIN(F, 12) // PF12: LED_R --> LED
3131

3232
enum
3333
{
34-
LED_STOP,
35-
LED_BLUE,
36-
LED_RED
34+
LED_STOP, LED_BLUE, LED_RED
3735
};
3836

39-
/* 电机控制 */
40-
void motor_ctrl(rt_uint8_t turn)
37+
38+
void led_ctrl(rt_uint8_t turn)
4139
{
4240
if (turn == LED_STOP)
4341
{
@@ -75,19 +73,19 @@ void beep_ctrl(rt_uint8_t on)
7573
/* 中断回调 */
7674
void irq_callback(void *args)
7775
{
78-
rt_uint32_t sign = (rt_uint32_t)args;
76+
rt_uint32_t sign = (rt_uint32_t) args;
7977
switch (sign)
8078
{
81-
case PIN_KEY0:
82-
motor_ctrl(LED_BLUE);
79+
case PIN_KEY0 :
80+
led_ctrl(LED_BLUE);
8381
LOG_D("KEY0 interrupt. blue light on.");
8482
break;
85-
case PIN_KEY1:
86-
motor_ctrl(LED_RED);
83+
case PIN_KEY1 :
84+
led_ctrl(LED_RED);
8785
LOG_D("KEY1 interrupt. red light on.");
8886
break;
89-
case PIN_KEY2:
90-
motor_ctrl(LED_STOP);
87+
case PIN_KEY2 :
88+
led_ctrl(LED_STOP);
9189
LOG_D("KEY2 interrupt. light off.");
9290
break;
9391
default:
@@ -114,9 +112,9 @@ int main(void)
114112
rt_pin_mode(PIN_BEEP, PIN_MODE_OUTPUT);
115113

116114
/* 设置按键中断模式与中断回调函数 */
117-
rt_pin_attach_irq(PIN_KEY0, PIN_IRQ_MODE_FALLING, irq_callback, (void *)PIN_KEY0);
118-
rt_pin_attach_irq(PIN_KEY1, PIN_IRQ_MODE_FALLING, irq_callback, (void *)PIN_KEY1);
119-
rt_pin_attach_irq(PIN_KEY2, PIN_IRQ_MODE_FALLING, irq_callback, (void *)PIN_KEY2);
115+
rt_pin_attach_irq(PIN_KEY0, PIN_IRQ_MODE_FALLING, irq_callback, (void *) PIN_KEY0);
116+
rt_pin_attach_irq(PIN_KEY1, PIN_IRQ_MODE_FALLING, irq_callback, (void *) PIN_KEY1);
117+
rt_pin_attach_irq(PIN_KEY2, PIN_IRQ_MODE_FALLING, irq_callback, (void *) PIN_KEY2);
120118

121119
/* 使能中断 */
122120
rt_pin_irq_enable(PIN_KEY0, PIN_IRQ_ENABLE);

projects/05_basic_ir/.settings/05_basic_ir.STLink.Debug.rttlaunch

+1-1
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@
5151
<stringAttribute key="org.eclipse.debug.ui.ATTR_CONSOLE_ENCODING" value="GBK"/>
5252
<stringAttribute key="org.rtthread.studio.debug.gdbjtag.stlink.adapterName" value="ST-LINK"/>
5353
<booleanAttribute key="org.rtthread.studio.debug.gdbjtag.stlink.doContinue" value="true"/>
54-
<stringAttribute key="org.rtthread.studio.debug.gdbjtag.stlink.gdbServerDeviceName" value="STM32F103VETx"/>
54+
<stringAttribute key="org.rtthread.studio.debug.gdbjtag.stlink.gdbServerDeviceName" value="STM32F407ZGTX"/>
5555
<stringAttribute key="org.rtthread.studio.debug.gdbjtag.stlink.gdbServerExecutable" value="${debugger_install_path}/${stlink_debugger_relative_path}/ST-LINK_gdbserver.exe"/>
5656
<stringAttribute key="org.rtthread.studio.debug.gdbjtag.stlink.stlinkGdbServer" value="${debugger_install_path}/${stlink_debugger_relative_path}/tools\bin\STM32_Programmer_CLI.exe"/>
5757
<booleanAttribute key="org.rtthread.studio.debug.gdbjtag.stlink.useRemoteTarget" value="true"/>

projects/05_basic_ir/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818

1919
## 软件说明
2020

21-
红外例程的示例代码位于 /examples/05_basic_ir/applications/main.c 中,主要流程:选择 NEC 解码器,初始化 GPIO 引脚。然后在 while 循环中扫描按键、打印输出接收到的红外数据,当 KEY0 按下后将会把最近一次接收到的红外数据通过红外发射头发送出去。
21+
红外例程的示例代码位于 /projects/05_basic_ir/applications/main.c 中,主要流程:选择 NEC 解码器,初始化 GPIO 引脚。然后在 while 循环中扫描按键、打印输出接收到的红外数据,当 KEY0 按下后将会把最近一次接收到的红外数据通过红外发射头发送出去。
2222

2323
```c
2424
int main(void)

0 commit comments

Comments
 (0)