RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

瑞薩e2studio(3)----GPIO輸入檢測

嵌入式單片機(jī)MCU開發(fā) ? 來源: 嵌入式單片機(jī)MCU開發(fā) ? 作者:嵌入式單片機(jī)MCU開 ? 2022-11-14 20:15 ? 次閱讀

概述

本篇文章主要介紹如何使用e2studio對瑞薩單片機(jī)進(jìn)行GPIO輸出,并以LED顯示。

視頻教學(xué)

聽不到聲音的請點擊跳轉(zhuǎn)進(jìn)行觀看。

[video(video-4XyyvLft-1649445510098)(type-bilibili)(url-https://player.bilibili.com/player.html?aid=634677043)(image-https://img-blog.csdnimg.cn/img_convert/0a2553dda92a0734aabad89d3a8f508d.png)(title-瑞薩e2studio(6)----GPIO輸入檢測(image-https://img-blog.csdnimg.cn/img_convert/0a2553dda92a0734aabad89d3a8f508d.png)(title-%E7%91%9E%E8%90%A8e2studio(6)----GPIO%E8%BE%93%E5%85%A5%E6%A3%80%E6%B5%8B))]

硬件準(zhǔn)備

首先需要準(zhǔn)備一個開發(fā)板,這里我準(zhǔn)備的是芯片型號R7FA4M2AD3CFP的開發(fā)板: 在這里插入圖片描述

新建工程

在這里插入圖片描述

工程模板

在這里插入圖片描述

保存工程路徑

在這里插入圖片描述

芯片配置

本文中使用R7FA2L1AB2DFL來進(jìn)行演示。 在這里插入圖片描述

工程模板選擇

在這里插入圖片描述

GPIO口配置

由下圖我們可以得知,板子上有2個LED燈,同時需要給高電平才可以點亮,故以P301和P302管腳為例。 在這里插入圖片描述

按鍵口配置

由下圖我們可以得知,按鍵在P104管腳,并且有一個上拉。 在這里插入圖片描述

按鍵口&Led配置

案例:當(dāng)按下按鍵P104,P301亮,否則P301滅。 在這里插入圖片描述在這里插入圖片描述

R_IOPORT_PortRead()函數(shù)原型

fsp_err_t R_IOPORT_PortRead    (    ioport_ctrl_t *const     p_ctrl,
bsp_io_port_t     port,
ioport_size_t *     p_port_value 
)    

說明:
Reads the value on an IO port. Implements ioport_api_t::portRead.

The specified port will be read, and the levels for all the pins will be returned. Each bit in the returned value corresponds to a pin on the port. For example, bit 7 corresponds to pin 7, bit 6 to pin 6, and so on.

故可以用R_IOPORT_PortRead()函數(shù)進(jìn)行讀取IO口電平狀態(tài),該函數(shù)是把一個PORT口的16個端口一起讀取出來。

ioport_size_t p_port_value_port_104; 
R_IOPORT_PortRead(&g_ioport_ctrl, BSP_IO_PORT_01, &p_port_value_port_104);

R_IOPORT_PinRead()函數(shù)原型

fsp_err_t R_IOPORT_PinRead    (    ioport_ctrl_t *const     p_ctrl,
bsp_io_port_pin_t     pin,
bsp_io_level_t *     p_pin_value 
)        

說明:
Reads the level on a pin. Implements ioport_api_t::pinRead.

故可以用R_IOPORT_PinRead()函數(shù)進(jìn)行讀取IO口電平狀態(tài),該函數(shù)只能讀取一個端口的電平。

bsp_io_level_t p_port_value_port_104_1;
R_IOPORT_PinRead(&g_ioport_ctrl, BSP_IO_PORT_01_PIN_04, &p_port_value_port_104_1);

由上述可以得知,R_IOPORT_PortRead完全可以替代R_IOPORT_PinRead。

代碼

在hal_entry()中添加如下。

#include "hal_data.h"

FSP_CPP_HEADER
void R_BSP_WarmStart(bsp_warm_start_event_t event);
FSP_CPP_FOOTER

/*******************************************************************************************************************//**
 * main() is generated by the RA Configuration editor and is used to generate threads if an RTOS is used.  This function
 * is called by main() when no RTOS is used.
 **********************************************************************************************************************/
void hal_entry(void)
{
    /* TODO: add your own code here */
    fsp_err_t      err;
    /* Initialize the IOPORT module and configure the pins
     * Note: The default pin configuration name in the RA Configuraton tool is g_bsp_pin_cfg */
    err = R_IOPORT_Open(&g_ioport_ctrl, &g_bsp_pin_cfg);
    /* Handle any errors. This function should be defined by the user. */
    assert(FSP_SUCCESS == err);
    ioport_size_t p_port_value_port_104;
    bsp_io_level_t p_port_value_port_104_1;
    while(1)
    {

//     R_IOPORT_PortRead(&g_ioport_ctrl, BSP_IO_PORT_01, &p_port_value_port_104);
//     if(p_port_value_port_104 & 0x0010)
//         R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_03_PIN_01, BSP_IO_LEVEL_LOW);
//     else
//         R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_03_PIN_01, BSP_IO_LEVEL_HIGH);

        R_IOPORT_PinRead(&g_ioport_ctrl, BSP_IO_PORT_01_PIN_04, &p_port_value_port_104_1);
        if(p_port_value_port_104_1)//BSP_IO_LEVEL_HIGH 沒按下
            R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_03_PIN_01, BSP_IO_LEVEL_LOW);
        else
            R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_03_PIN_01, BSP_IO_LEVEL_HIGH);
    }
#if BSP_TZ_SECURE_BUILD
    /* Enter non-secure code */
    R_BSP_NonSecureEnter();
#endif
}

以上的代碼會在Q_QUN里分享。Q_QUN:615061293。 或者關(guān)注『記帖』,持續(xù)更新文章和學(xué)習(xí)資料!

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6035

    文章

    44554

    瀏覽量

    634634
  • ST
    ST
    +關(guān)注

    關(guān)注

    32

    文章

    1133

    瀏覽量

    128911
  • 瑞薩
    +關(guān)注

    關(guān)注

    35

    文章

    22308

    瀏覽量

    86239
  • GPIO
    +關(guān)注

    關(guān)注

    16

    文章

    1204

    瀏覽量

    52051
收藏 人收藏

    評論

    相關(guān)推薦

    e2studio(25)----電容觸摸配置(2)

    e2studio(25)----電容觸摸配置(2)
    的頭像 發(fā)表于 08-21 15:50 ?916次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>e2studio</b>(25)----電容觸摸配置(<b class='flag-5'>2</b>)

    e2studio(1)----芯片之搭建FSP環(huán)境

    視頻教學(xué) 樣品申請 請勿添加外鏈 e2studio軟件 e2studio的集成開發(fā)環(huán)境,F(xiàn)SP 提供了眾多可提高效率的工具,用于開發(fā)針對
    發(fā)表于 09-30 15:28

    如何使用e2studio單片機(jī)進(jìn)行GPIO輸出并以LED顯示?

    如何使用e2studio單片機(jī)進(jìn)行GPIO輸出并以LED顯示?
    發(fā)表于 02-16 06:50

    使用e2studio顯示對單片機(jī)進(jìn)行GPIO輸出的過程步驟是什么?

    使用e2studio顯示對單片機(jī)進(jìn)行GPIO輸出的過程步驟是什么?
    發(fā)表于 02-16 07:41

    e2studio(2)----GPIO輸出

    概述本篇文章主要介紹如何使用e2studio單片機(jī)進(jìn)行GPIO輸出,并以LED顯示。硬件準(zhǔn)備首先需要準(zhǔn)備一個開發(fā)板,這里我準(zhǔn)備的是芯片型號R7FA
    發(fā)表于 12-20 19:00 ?12次下載
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>e2studio</b>(<b class='flag-5'>2</b>)----<b class='flag-5'>GPIO</b>輸出

    e2studio(3)----GPIO輸入檢測

    e2studio.3--GPIO輸入檢測概述硬件準(zhǔn)備新建工程工程模板保存工程路徑芯片配置工程模板選擇按鍵口&Led配置Led端口配置按鍵
    發(fā)表于 12-20 19:00 ?6次下載
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>e2studio</b>(<b class='flag-5'>3</b>)----<b class='flag-5'>GPIO</b><b class='flag-5'>輸入</b><b class='flag-5'>檢測</b>

    e2studio(2)----GPIO輸出

    本篇文章主要介紹如何使用e2studio單片機(jī)進(jìn)行GPIO輸出,并以LED顯示。
    的頭像 發(fā)表于 11-14 17:11 ?1288次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>e2studio</b>(<b class='flag-5'>2</b>)----<b class='flag-5'>GPIO</b>輸出

    e2studio(8)----PWM

    本篇文章主要介紹如何使用e2studio單片機(jī)進(jìn)行PWM輸出。
    的頭像 發(fā)表于 11-15 10:43 ?1172次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>e2studio</b>(8)----PWM

    e2studio(9)----EXIT

    本篇文章主要介紹如何使用e2studio單片機(jī)進(jìn)行EXIT檢測,之后通過按鍵形式以及燈的亮滅形式進(jìn)行演示。
    的頭像 發(fā)表于 11-15 10:53 ?1067次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>e2studio</b>(9)----EXIT

    e2studio(10)----DAC

    本篇文章主要介紹如何使用e2studio單片機(jī)進(jìn)行DAC輸出。
    的頭像 發(fā)表于 11-15 10:59 ?994次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>e2studio</b>(10)----DAC

    e2studio(14)----定時器GPT配置輸入捕獲

    本篇文章主要介紹如何使用e2studio單片機(jī)定時器輸入捕獲,同時輸入一個PWM驗證是否正確。
    的頭像 發(fā)表于 11-15 11:54 ?1318次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>e2studio</b>(14)----定時器GPT配置<b class='flag-5'>輸入</b>捕獲

    e2studio----DAC

    本篇文章主要介紹如何使用e2studio單片機(jī)進(jìn)行DAC輸出。
    的頭像 發(fā)表于 11-02 16:13 ?1148次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>e2studio</b>----DAC

    e2studio----GPIO輸出

    概述本篇文章主要介紹如何使用e2studio單片機(jī)進(jìn)行GPIO輸出,并以LED顯示。
    的頭像 發(fā)表于 11-03 17:01 ?1426次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>e2studio----GPIO</b>輸出

    e2studio----GPIO輸入檢測

    本篇文章主要介紹如何使用e2studio單片機(jī)進(jìn)行GPIO輸入檢測,并以LED顯示。
    的頭像 發(fā)表于 11-03 17:20 ?1279次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>e2studio----GPIO</b><b class='flag-5'>輸入</b><b class='flag-5'>檢測</b>

    如何使用e2studio單片機(jī)進(jìn)行GPIO輸出

    本篇文章主要介紹如何使用e2studio單片機(jī)進(jìn)行GPIO輸出,并以LED顯示。
    的頭像 發(fā)表于 07-30 16:12 ?649次閱讀
    如何使用<b class='flag-5'>e2studio</b>對<b class='flag-5'>瑞</b><b class='flag-5'>薩</b>單片機(jī)進(jìn)行<b class='flag-5'>GPIO</b>輸出
    RM新时代网站-首页