jsp网站购买空间,局域网建WordPress,常用的网络推广方法有,销售产品单页面网站模板e2studio开发RA2E1.5--GPIO输入检测 概述视频教学样品申请硬件准备参考程序源码下载新建工程工程模板保存工程路径芯片配置工程模板选择时钟设置GPIO口配置按键口配置按键口Led配置R_IOPORT_PortRead()函数原型R_IOPORT_PinRead()函数原型代码 概述
本篇文章主要介绍如何… e2studio开发RA2E1.5--GPIO输入检测 概述视频教学样品申请硬件准备参考程序源码下载新建工程工程模板保存工程路径芯片配置工程模板选择时钟设置GPIO口配置按键口配置按键口Led配置R_IOPORT_PortRead()函数原型R_IOPORT_PinRead()函数原型代码 概述
本篇文章主要介绍如何使用e2studio对瑞萨单片机进行GPIO输入检测。
最近在瑞萨RA的课程需要样片的可以加qun申请925643491。 视频教学
https://www.bilibili.com/video/BV1oxPReEEUW/ e2studio开发RA2E1(5)----GPIO输入检测 样品申请
https://www.wjx.top/vm/rCrkUrz.aspx
硬件准备
首先需要准备一个开发板这里我准备的是自己绘制的开发板需要的可以进行申请。 主控为R7FA2E1A72DFL#AA0 参考程序
https://github.com/CoreMaker-lab/RA2E1
https://gitee.com/CoreMaker/RA2E1
源码下载
https://download.csdn.net/download/xinzuofang/90338098
新建工程 工程模板 保存工程路径 芯片配置
本文中使用R7FA2E1A72DFL#AA0来进行演示。 工程模板选择 时钟设置
开发板上的外部高速晶振为12M. 需要修改XTAL为12M。 GPIO口配置
由下图我们可以得知板子上有4个LED灯同时需要给高电平才可以点亮。 在e2studio中可以直接设置P913、P914为输出口。 按键口配置
由下图我们可以得知按键在P000和P001管脚并且有一个上拉。 在e2studio中可以直接设置P000和P001为输入口。 按键口Led配置
案例当按下按键K1P913亮当按下按键K2P914亮松开按键对应LED灭。
R_IOPORT_PortRead()函数原型
该函数用于读取IO端口的值。指定的端口将被读取所有引脚的电平将被返回。返回值中的每一位对应于端口上的一个引脚例如位7对应引脚7位6对应引脚6以此类推。 故可以用R_IOPORT_PortRead()函数进行读取IO口电平状态该函数是把一个PORT口的16个端口一起读取出来。 ioport_size_t p_port_value_port_0;R_IOPORT_PortRead(g_ioport_ctrl, BSP_IO_PORT_00, p_port_value_port_0);if(p_port_value_port_0 0b1)R_IOPORT_PinWrite(g_ioport_ctrl, BSP_IO_PORT_09_PIN_13, BSP_IO_LEVEL_LOW);elseR_IOPORT_PinWrite(g_ioport_ctrl, BSP_IO_PORT_09_PIN_13, BSP_IO_LEVEL_HIGH);
R_IOPORT_PinRead()函数原型 故可以用R_IOPORT_PinRead()函数进行读取IO口电平状态该函数只能读取一个端口的电平。 bsp_io_level_t p_port_value_pin_001;R_IOPORT_PinRead(g_ioport_ctrl, BSP_IO_PORT_00_PIN_01, p_port_value_pin_001);if(p_port_value_pin_001)R_IOPORT_PinWrite(g_ioport_ctrl, BSP_IO_PORT_09_PIN_14, BSP_IO_LEVEL_LOW);elseR_IOPORT_PinWrite(g_ioport_ctrl, BSP_IO_PORT_09_PIN_14, BSP_IO_LEVEL_HIGH);
代码
在hal_entry()中添加如下。 while(1){ioport_size_t p_port_value_port_0;R_IOPORT_PortRead(g_ioport_ctrl, BSP_IO_PORT_00, p_port_value_port_0);if(p_port_value_port_0 0b1)R_IOPORT_PinWrite(g_ioport_ctrl, BSP_IO_PORT_09_PIN_13, BSP_IO_LEVEL_LOW);elseR_IOPORT_PinWrite(g_ioport_ctrl, BSP_IO_PORT_09_PIN_13, BSP_IO_LEVEL_HIGH);bsp_io_level_t p_port_value_pin_001;R_IOPORT_PinRead(g_ioport_ctrl, BSP_IO_PORT_00_PIN_01, p_port_value_pin_001);if(p_port_value_pin_001)R_IOPORT_PinWrite(g_ioport_ctrl, BSP_IO_PORT_09_PIN_14, BSP_IO_LEVEL_LOW);elseR_IOPORT_PinWrite(g_ioport_ctrl, BSP_IO_PORT_09_PIN_14, BSP_IO_LEVEL_HIGH);}