在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

RTT大賽作品:AB32VG1開發(fā)板—按鍵掃描

嵌入式開發(fā) ? 來(lái)源:AB32VG1開發(fā)筆記 ? 作者:AB32VG1開發(fā)筆記 ? 2021-11-15 09:54 ? 次閱讀

【RTT大賽作品連載】AB32VG1開發(fā)板——按鍵掃描

1. 實(shí)驗(yàn)?zāi)康?/strong>

讓板載 三個(gè)用戶按鍵,通過(guò)掃描按鍵,打印按鍵值。

2. 開發(fā)板硬件平臺(tái)

poYBAGGGRgCAejjsABX3VGGeJIc209.png

按鍵硬件電路,可知,使用 按鍵要使用

PF1 —— S2

PF0 —— S3

PAS —— S4

poYBAGGGnvCAQcGHAABcdDRNTVI869.png

3. 軟件編寫

在 application 目錄下,新建 key.c 和 key.h

//key.c
/*
 * Copyright (c) 2006-2021, RT-Thread Development Team
 *
 * SPDX-License-Identifier: Apache-2.0
 *
 * Change Logs:
 * Date           Author       Notes
 * 2021-11-06     Administrator       the first version
 */
#include "key.h"
#include 
#include "board.h"

struct key_s
{
    uint8_t k0;
    uint8_t k1;
    uint8_t k2;
};
struct key_s button;

//PF0   PF1     PA2
static int key_init(void)
{
    button.k0 = rt_pin_get("PF.0");
    button.k1 = rt_pin_get("PF.1");

    rt_pin_mode(button.k0, PIN_MODE_INPUT_PULLUP);
    rt_pin_mode(button.k1, PIN_MODE_INPUT_PULLUP);

    rt_kprintf("key init\n");
    return 0;
}

#define KEY0_PRES 1
#define KEY1_PRES 2

static uint8_t btn_scan(uint8_t mode)
{
    static uint8_t key_up = 1;

    if(mode)
        key_up = 1;

    if(key_up && ((rt_pin_read(button.k0) == PIN_LOW) || (rt_pin_read(button.k1) == PIN_LOW)))
    {
        rt_thread_mdelay(10);
        key_up = 0;
        if(rt_pin_read(button.k0) == PIN_LOW)
            return KEY0_PRES;
        else if(rt_pin_read(button.k1) == PIN_LOW)
            return KEY1_PRES;
    }else if((rt_pin_read(button.k0) == PIN_HIGH) && (rt_pin_read(button.k1) == PIN_HIGH))
        key_up = 1;

    return 0;
}

static void btn_thread_entry(void* p)
{
    uint8_t byn_value = 0;

    while(1)
    {
        byn_value = btn_scan(0);
        switch(byn_value)
        {
            case KEY0_PRES:
                rt_kprintf("key0 pushed\n");
                break;
            case KEY1_PRES:
                rt_kprintf("key1 pushed\n");
                break;
            default:
                break;
        }
        rt_thread_mdelay(100);
    }
}

static int Thread_btn(void)
{
    rt_thread_t thread = RT_NULL;

    key_init();
    thread = rt_thread_create("button", btn_thread_entry, RT_NULL, 512, 11, 10);
    if(thread == RT_NULL)
    {
        rt_kprintf("Thread_btn Init ERROR");
        return RT_ERROR;
    }
    rt_thread_startup(thread);
}

INIT_APP_EXPORT(Thread_btn);


//key.h
/*
 * Copyright (c) 2006-2021, RT-Thread Development Team
 *
 * SPDX-License-Identifier: Apache-2.0
 *
 * Change Logs:
 * Date           Author       Notes
 * 2021-11-06     Administrator       the first version
 */
#ifndef APPLICATIONS_KEY_H_
#define APPLICATIONS_KEY_H_


#endif /* APPLICATIONS_KEY_H_ */

修改main.c

/*
 * Copyright (c) 2020-2021, Bluetrum Development Team
 *
 * SPDX-License-Identifier: Apache-2.0
 *
 * Change Logs:
 * Date           Author       Notes
 * 2020/12/10     greedyhao    The first version
 */

/**
 * Notice!
 * All functions or data that are called during an interrupt need to be in RAM.
 * You can do it the way exception_isr() does.
 */

#include 
#include "board.h"

int main(void)
{
    rt_kprintf("Hello, world\n");

    while (1)
    {
        rt_thread_mdelay(500);
        rt_thread_mdelay(500);
    }
}

4. 程序編譯下載

編譯程序,點(diǎn)擊小錘子即可。

pYYBAGGGRnmADAsxAAKXmT_LCcc372.png

下載程序

打開我們下載的Downloader軟件,雙擊Downloader.exe

配置連接串口,千萬(wàn)不要搞錯(cuò)串口號(hào)哦。

選擇工程目錄下的\Debug\rtthread.dcf,這里我的完整目錄是

D:\RT-ThreadStudio\workspace\ab32vg1_demo\Debug\rtthread.dcf

點(diǎn)擊開始即可下載成功

5. 實(shí)驗(yàn)現(xiàn)象:

download 串口打印 msh 控制臺(tái)信息。

按鍵觸發(fā)打印,不支持連按。

poYBAGGGoY6AMvHBAACVkF7P9kU341.png

6. 總結(jié)

目前是通過(guò)引腳輪詢讀取來(lái)實(shí)現(xiàn)按鍵掃描,后面可以試試IO中斷的方式實(shí)現(xiàn),哈哈。

編輯:fqj

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

    關(guān)注

    6065

    文章

    44934

    瀏覽量

    647663
  • 開發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    5565

    瀏覽量

    102816
  • RTT
    RTT
    +關(guān)注

    關(guān)注

    0

    文章

    66

    瀏覽量

    17551
  • 中科藍(lán)訊
    +關(guān)注

    關(guān)注

    9

    文章

    59

    瀏覽量

    10164
收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    有ARM,NPU,F(xiàn)PGA三種核心的開發(fā)板 — 米爾安路飛龍派開發(fā)板

    ,是A股首家專注于FPGA業(yè)務(wù)的上市公司。YM90X開發(fā)板用的就是安路的SALDRAGON1(飛龍1,以下簡(jiǎn)稱DR1)系列FPSoC。FPSoC就是將ARM、NPU和
    的頭像 發(fā)表于 06-13 08:03 ?197次閱讀
    有ARM,NPU,F(xiàn)PGA三種核心的<b class='flag-5'>開發(fā)板</b> — 米爾安路飛龍派<b class='flag-5'>開發(fā)板</b>

    【新品】遠(yuǎn)距離圖傳數(shù)傳模塊開發(fā)板、藍(lán)牙模塊開發(fā)板、無(wú)線模塊開發(fā)板

    新品上市圖傳數(shù)傳模塊開發(fā)板藍(lán)牙模塊開發(fā)板國(guó)產(chǎn)無(wú)線模塊開發(fā)板部分型號(hào)參與送樣文末了解詳情↓↓↓EWT611-900NW20S遠(yuǎn)距離圖傳數(shù)傳模塊開發(fā)板EWT611-900NW20S是一款入
    的頭像 發(fā)表于 06-12 19:33 ?83次閱讀
    【新品】遠(yuǎn)距離圖傳數(shù)傳模塊<b class='flag-5'>開發(fā)板</b>、藍(lán)牙模塊<b class='flag-5'>開發(fā)板</b>、無(wú)線模塊<b class='flag-5'>開發(fā)板</b>

    【免費(fèi)試用】倒計(jì)時(shí)六天!RISC-V、OH、RK開發(fā)板等你來(lái)申請(qǐng)!

    技術(shù)人的狂歡,開發(fā)者的盛宴!2025年最值得期待的硬核賽事——電子發(fā)燒友開發(fā)板評(píng)測(cè)大賽正式啟動(dòng)!無(wú)論你是開源生態(tài)的探索者、芯片架構(gòu)的極客,還是物聯(lián)網(wǎng)領(lǐng)域的創(chuàng)新達(dá)人,本次大賽
    的頭像 發(fā)表于 06-10 08:05 ?97次閱讀
    【免費(fèi)試用】倒計(jì)時(shí)六天!RISC-V、OH、RK<b class='flag-5'>開發(fā)板</b>等你來(lái)申請(qǐng)!

    【免費(fèi)試用】開發(fā)板評(píng)測(cè)大賽開啟!OH 、RISC-V、Rockchip頂級(jí)開發(fā)板等你試用~

    技術(shù)人的狂歡,開發(fā)者的盛宴!2025年最值得期待的硬核賽事——電子發(fā)燒友開發(fā)板評(píng)測(cè)大賽正式啟動(dòng)!無(wú)論你是開源生態(tài)的探索者、芯片架構(gòu)的極客,還是物聯(lián)網(wǎng)領(lǐng)域的創(chuàng)新達(dá)人,本次大賽
    的頭像 發(fā)表于 06-05 08:05 ?122次閱讀
    【免費(fèi)試用】<b class='flag-5'>開發(fā)板</b>評(píng)測(cè)<b class='flag-5'>大賽</b>開啟!OH 、RISC-V、Rockchip頂級(jí)<b class='flag-5'>開發(fā)板</b>等你試用~

    T527開發(fā)板+OpenHarmony評(píng)測(cè)大賽邀你來(lái)戰(zhàn)!0元參與,贏百元禮品

    【電子發(fā)燒友開發(fā)板評(píng)測(cè)大賽】正式啟動(dòng),等你來(lái)戰(zhàn)!本次大賽以“評(píng)測(cè)性能、探索易用性、解鎖創(chuàng)新場(chǎng)景”為核心,旨在通過(guò)深度技術(shù)分享與實(shí)戰(zhàn)演練,推動(dòng)硬件生態(tài)開放共享,加速產(chǎn)品迭代創(chuàng)新,激發(fā)行業(yè)創(chuàng)造力。
    的頭像 發(fā)表于 05-30 08:05 ?362次閱讀
    T527<b class='flag-5'>開發(fā)板</b>+OpenHarmony評(píng)測(cè)<b class='flag-5'>大賽</b>邀你來(lái)戰(zhàn)!0元參與,贏百元禮品

    一個(gè)不錯(cuò)的活動(dòng):電子發(fā)燒友開發(fā)板評(píng)測(cè)大賽

    “ ?湊齊了 OpenHarmony,Risc-V,Rocketchip 三大賽道 21 款來(lái)自不同廠家的開發(fā)板,可免費(fèi)申請(qǐng)?jiān)囉谩?” ? 電子發(fā)燒友開發(fā)板評(píng)測(cè)大賽正式啟動(dòng)!無(wú)論你是開
    的頭像 發(fā)表于 05-21 11:19 ?107次閱讀
    一個(gè)不錯(cuò)的活動(dòng):電子發(fā)燒友<b class='flag-5'>開發(fā)板</b>評(píng)測(cè)<b class='flag-5'>大賽</b>

    開發(fā)板評(píng)測(cè)大賽開啟!頂級(jí)開發(fā)板等你來(lái)戰(zhàn)!

    技術(shù)人的狂歡,開發(fā)者的盛宴!2025年最值得期待的硬核賽事——電子發(fā)燒友開發(fā)板評(píng)測(cè)大賽正式啟動(dòng)!無(wú)論你是開源生態(tài)的探索者、芯片架構(gòu)的極客,還是物聯(lián)網(wǎng)領(lǐng)
    的頭像 發(fā)表于 05-20 08:07 ?111次閱讀
    <b class='flag-5'>開發(fā)板</b>評(píng)測(cè)<b class='flag-5'>大賽</b>開啟!頂級(jí)<b class='flag-5'>開發(fā)板</b>等你來(lái)戰(zhàn)!

    2025電子發(fā)燒友開發(fā)板評(píng)測(cè)大賽開啟!三大賽道火力全開,頂級(jí)開發(fā)板等你來(lái)戰(zhàn)!

    技術(shù)人的狂歡,開發(fā)者的盛宴! 2025年最值得期待的硬核賽事——電子發(fā)燒友開發(fā)板評(píng)測(cè)大賽正式啟動(dòng)!無(wú)論你是開源生態(tài)的探索者、芯片架構(gòu)的極客,還是物聯(lián)網(wǎng)領(lǐng)域的創(chuàng)新達(dá)人,本次大賽
    發(fā)表于 05-15 15:09

    dfd#電路知識(shí) #RTT設(shè)計(jì)大賽

    RTT
    jf_34552825
    發(fā)布于 :2025年05月08日 19:50:18

    基于RK3576開發(fā)板的固件燒錄與更新

    在RK3576開發(fā)板上單擊【RESET按鍵】,長(zhǎng)按【LOAD按鍵】等待3~4秒,松開【LOAD按鍵】出現(xiàn)該設(shè)備信息則可以 進(jìn)行固件燒錄
    的頭像 發(fā)表于 04-21 16:54 ?494次閱讀
    基于RK3576<b class='flag-5'>開發(fā)板</b>的固件燒錄與更新

    基于RV1126開發(fā)板按鍵測(cè)試方法與例程

    RV1126開發(fā)板按鍵測(cè)試方法與例程詳細(xì)描述
    的頭像 發(fā)表于 04-15 17:03 ?291次閱讀
    基于RV1126<b class='flag-5'>開發(fā)板</b>的<b class='flag-5'>按鍵</b>測(cè)試方法與例程

    正點(diǎn)原子fpga開發(fā)板不同型號(hào)

    正點(diǎn)原子作為國(guó)內(nèi)領(lǐng)先的FPGA開發(fā)板供應(yīng)商,其產(chǎn)品線覆蓋了從入門級(jí)到高端應(yīng)用的各個(gè)領(lǐng)域。這些開發(fā)板不僅適用于學(xué)術(shù)研究,還廣泛應(yīng)用于工業(yè)控制、通信、圖像處理等多個(gè)領(lǐng)域。 1. 入門級(jí)開發(fā)板
    的頭像 發(fā)表于 11-13 09:30 ?3337次閱讀

    【干貨】性價(jià)比拉滿!HK32F407VG開發(fā)板介紹

    開發(fā)板簡(jiǎn)介開發(fā)板是基于航順芯片公司F4系列HK32F407VGT7芯片的一款開發(fā)板,Cortex-M4內(nèi)核,最高主頻168MHz,內(nèi)置1MKBFlash和256KBSRAM,SDIO、
    的頭像 發(fā)表于 11-08 13:27 ?707次閱讀
    【干貨】性價(jià)比拉滿!HK32F407<b class='flag-5'>VG</b><b class='flag-5'>開發(fā)板</b>介紹

    51開發(fā)板芯片資料

    51開發(fā)板芯片資料
    發(fā)表于 09-18 09:29 ?1次下載

    ElfBoard技術(shù)貼|在NXP源碼基礎(chǔ)上適配ELF 1開發(fā)板按鍵功能

    ,將以按鍵功能的適配作為具體示例,深入解析整個(gè)適配的流程。一、準(zhǔn)備工作NXP源碼路徑:ELF1開發(fā)板資料包\07-NXP原廠資料\07-1NXP官方源碼\linux-
    的頭像 發(fā)表于 07-10 09:54 ?888次閱讀
    ElfBoard技術(shù)貼|在NXP源碼基礎(chǔ)上適配ELF <b class='flag-5'>1</b><b class='flag-5'>開發(fā)板</b>的<b class='flag-5'>按鍵</b>功能
    主站蜘蛛池模板: 一区二区三区高清在线观看 | 午夜性刺激免费视频观看不卡专区 | 亚洲色图图片区 | 免费h视频在线观看 | 天天干夜夜添 | 欧美精品高清在线xxxx | 日韩免费观看视频 | 香蕉蕉亚亚洲aav综合 | 九九热在线免费视频 | 年下攻高h好涨 | 国产一区二区三区在线观看影院 | 六月激情婷婷 | 欧美日本一区二区三区道 | 网友偷自拍原创区 | 免费黄色毛片 | 精品乱人伦一区二区三区 | 激情com | 中文字幕一区二区三区四区五区人 | 欧美成人免费夜夜黄啪啪 | 综合五月激情 | 黄色小视频日本 | 5x视频在线观看 | 日本最顶级丰满的aⅴ艳星 日本最好的免费影院 | 91九色成人 | 天天免费看片 | 国产叼嘿视频免费网站 | 在线天堂中文在线网 | 日本在线免费 | 欧美日日日 | 亚洲欧美在线一区 | 欧美30p| 女人扒开腿让男人桶到爽 | 日本黄页网 | 亚洲欧美啪啪 | 国产午夜三区视频在线 | 日本级毛片免费观看 | 俺去啦网婷婷 | 婷婷综合久久狠狠色99h | 四虎永久免费地址 | 久碰香蕉精品视频在线观看 | 国产精品欧美精品国产主播 |