diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/media/15cc6aaf44e26966f130126f26e50231.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/media/15cc6aaf44e26966f130126f26e50231.png new file mode 100644 index 0000000000000000000000000000000000000000..a3cdd0d7ac258ed45eb855e26063fd7e0fae0772 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/media/15cc6aaf44e26966f130126f26e50231.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/media/8db4a7996b09f7a9f88ee68521e11fa2.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/media/8db4a7996b09f7a9f88ee68521e11fa2.png new file mode 100644 index 0000000000000000000000000000000000000000..6edba654d3ed8f235982816e508b3a4a6b3369eb Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/media/8db4a7996b09f7a9f88ee68521e11fa2.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/media/aa86527116672af5a8b2fb6592658105.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/media/aa86527116672af5a8b2fb6592658105.png new file mode 100644 index 0000000000000000000000000000000000000000..b4fea15d806c1a4f04ffb5eeb0aa1ef2efd7e985 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/media/aa86527116672af5a8b2fb6592658105.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/media/dad65ad0dfd5f31a36a8935f09cf9039.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/media/dad65ad0dfd5f31a36a8935f09cf9039.png new file mode 100644 index 0000000000000000000000000000000000000000..ab47e3fed56c1d46765d0d8dccd38ba190fba028 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/media/dad65ad0dfd5f31a36a8935f09cf9039.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/media/e012f44a77be57cb1a2788a5ba18891a.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/media/e012f44a77be57cb1a2788a5ba18891a.png new file mode 100644 index 0000000000000000000000000000000000000000..0e8b1714dd0f9bf2c2ac1073a9186022f811d865 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/media/e012f44a77be57cb1a2788a5ba18891a.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/media/e272140304a3143ff607306225aceb00.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/media/e272140304a3143ff607306225aceb00.png new file mode 100644 index 0000000000000000000000000000000000000000..0227b6e25ad0fa66fbf05305badf7e8a68464c5c Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/media/e272140304a3143ff607306225aceb00.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/media/ffb603a51e8b5eb0ecd73370a1eeff45.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/media/ffb603a51e8b5eb0ecd73370a1eeff45.png new file mode 100644 index 0000000000000000000000000000000000000000..f92455fe0ab102092e70f2fea8f7bb6e2980874d Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/media/ffb603a51e8b5eb0ecd73370a1eeff45.png differ diff --git "a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/\347\221\236\350\220\250RA2L1\345\274\200\345\217\221\345\256\236\350\267\265\346\214\207\345\215\227.md" "b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/\347\221\236\350\220\250RA2L1\345\274\200\345\217\221\345\256\236\350\267\265\346\214\207\345\215\227.md" index a5b60c79d25c8902c83a6acdcccbce3c057dbf5f..153d2efd9999cf0f322e183700c2be117659e2cb 100644 --- "a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/\347\221\236\350\220\250RA2L1\345\274\200\345\217\221\345\256\236\350\267\265\346\214\207\345\215\227.md" +++ "b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/\347\221\236\350\220\250RA2L1\345\274\200\345\217\221\345\256\236\350\267\265\346\214\207\345\215\227.md" @@ -1,6 +1,6 @@ # 瑞萨 RA2L1 开发实践指南 -## 零、实践指南说明 +## 实践指南说明 ### 1. 硬件介绍 @@ -144,46 +144,103 @@ RA2L1 产品组基于 Cortex-M23 核心(现 Cortex-M 系列中功耗最低的 ![descript](media/ab5ddfcae5479703b609f0255cde3f87.png) -## 一、瑞萨 RA2L1 上的 UART 实践 +## 瑞萨 RA2L1 上的 GPIO 实践 ### 前言说明 #### 本章内容 -本章通过 RT-Thread Studio 配置 RA2L1 片上外设 UART 的功能,实现开发板和 PC 进行通信。 +本章通过 RT-Thread Studio 配置 GPIO 实现输入、输出的设定,及 GPIO 中断使用。 #### 模块介绍 -- UART0: P101/P100 -- UART9: P109/P110 -- 串口转接模块 +主要介绍按键输入 (P004) 及 led(P502) 输出控制的使用 + +![descript](media/e272140304a3143ff607306225aceb00.png) #### 开发软件 - 开发环境:RT-Thread Studio -- 下载工具:Jflash +- 下载工具:Jflash--板载 ### 步骤说明 -#### 新建工程 +工程搭建参考 **RT-Thread Studio IDE 使用的基础介绍**,注意 FSP 只能使用 3.5.0 版本,使用 4.0.0 测试无法出现配置界面 + +![descript](media/dad65ad0dfd5f31a36a8935f09cf9039.png) + +将 LED 对应 pin 脚 P502 设置为输出模式,输出类型为 CMOS,P502 配置成 GPIO + +![descript](media/aa86527116672af5a8b2fb6592658105.png) + +按键对应的 P04 设置为 为 IRQ_mode,分配 IRQ 为 3 指定 P004 类型为 IRQ0_IRQ_03 + +![descript](media/15cc6aaf44e26966f130126f26e50231.png) + +icu0 中有整体的 IRQ 管理控制设置 + +![descript](media/e012f44a77be57cb1a2788a5ba18891a.png) + +保存设置,点击工程生成 + +#### 编写测试程序 + +```c +#include +#include "hal_data.h" +#include + +#define LED1_PIN "P502" /* Onboard LED pins */ +#define USER_INPUT "P004" -打开 RT-Thread Studio,如下图新建工程 RT-Thread 项目 +void hal_entry(void) +{ + rt_kprintf("\nHello RT-Thread!\n"); + while (1) + { + rt_thread_mdelay(500); + } +} -![descript](media/28ce41ffb98e0045600d92c6dfec48b5.png) +void irq_callback_test(void *args) +{ + static int out ; + rt_kprintf("\n IRQ03 triggered \n"); + rt_uint32_t led1_pin = rt_pin_get(LED1_PIN); + out = rt_pin_read(led1_pin)?PIN_LOW:PIN_HIGH; + rt_pin_write(led1_pin,out); +} -创建基于开发板的项目,注意一般英文文件名与英文保存路径,如下图所示。 +void push_btn(void) +{ + /* init */ + rt_uint32_t pin = rt_pin_get(USER_INPUT); + rt_kprintf("\n pin number : 0x%04X \n", pin); + rt_err_t err = rt_pin_attach_irq(pin, PIN_IRQ_MODE_RISING, irq_callback_test, RT_NULL); + if (RT_EOK != err) + { + rt_kprintf("\n attach irq failed. \n"); + } + err = rt_pin_irq_enable(pin, PIN_IRQ_ENABLE); + if (RT_EOK != err) + { + rt_kprintf("\n enable irq failed. \n"); + } +} +MSH_CMD_EXPORT(push_btn, push_btn); +``` -![descript](media/e88a749ce26fe3887a3e437cfce8d1b0.png) +### 代码验证 -如果在 RT-Thread Studio 环境的工程目录下没有显示 RASC,就按照下图方法找到工程目录下. settings 文件夹下的 projcfg.ini 文件,打开后增加一行内容 `dvendor_name=RENESAS`。 +代码下载、烧录,串口助手输入push_btn,点击按钮,观察led 是否状态反转(亮-按钮点击-灭--按钮点击---亮...) -![descript](media/5dcbbec3ed30395621735e9123c704bb.png) +![descript](media/8db4a7996b09f7a9f88ee68521e11fa2.png) -打开 RASC,第一次打开需要选择文件夹,如下图所示。 +### 章节总结 -![descript](media/d53a7097a92d7e70b82576eb806f566b.png) +GPIO 是 MCU 控制中最基础的,可以用于模拟 I2C IR UART 等协议,主要有输入输出设定、中断、回调触发函数等设置。 -## 二、瑞萨 RA2L1 上的 GPIO 实践 +## 瑞萨 RA2L1 上的模拟 I2C 实践 更多内容请点击链接查看在线文档 [《瑞萨 RA2L1 开发实践指南》](https://docs.qq.com/doc/DQktJWmpBZkNiTnh6),包含内容如下: