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

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

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

N32L40XCL-STB開發(fā)板模塊評(píng)測(cè)任務(wù)大挑戰(zhàn)之測(cè)試GPIO

冬至子 ? 來源:cir2way ? 作者:cir2way ? 2023-09-15 17:00 ? 次閱讀

1 測(cè)試環(huán)境

開發(fā)板:N32L40XCL-STB V1.0
開發(fā)環(huán)境:RT-Thread studio 2.2.6
RT-Thread版本:4.0.2

2 硬件資源介紹

開發(fā)板上共有3個(gè)按鍵和3個(gè)LED如下圖所示。

GPIO輸入輸出測(cè)試:KEY1對(duì)應(yīng)引腳設(shè)置為GPIO輸入,控制LED1、LED2亮滅
GPIO中斷模式測(cè)試:KEY2對(duì)應(yīng)引腳設(shè)置為下降沿觸發(fā),觸發(fā)后打印KEY2!等若干字符
LED3指示系統(tǒng)正常工作

1.jpg

3 GPIO測(cè)試代碼

關(guān)于工程創(chuàng)建等可參考其他人的文章,在applications文件夾中創(chuàng)建gpio_test.c文件并加入如下的測(cè)試代碼

#include
#include
#include
/* defined the LED1 pin: PA8 /
#define LED1_PIN GET_PIN(A, 8)
/
defined the LED2 pin: PB4 /
#define LED2_PIN GET_PIN(B, 4)
/
defined the KEY1 pin: PA4 /
#define KEY1_PIN GET_PIN(A, 4)
/
defined the KEY2 pin: PA5 */
#define KEY2_PIN GET_PIN(A, 5)
static uint8_t curr_st = 0;
static uint8_t next_st = 0;
static uint8_t led_st = 0;
static void key_led_thread_entry(void parameter)
{
while (1) {
/
led status switch /
if (rt_pin_read(KEY1_PIN) == PIN_LOW) {
rt_thread_mdelay(20);
if (rt_pin_read(KEY1_PIN) == PIN_LOW) {
next_st = 1;
} else {
next_st = 0;
}
} else {
next_st = 0;
}
/
switch on/off the led */
if ((curr_st == 0) && (next_st != 0)) {
led_st = !led_st;
} else {
led_st = led_st;
}
curr_st = next_st;
if (led_st) {
rt_pin_write(LED1_PIN, PIN_HIGH);
rt_pin_write(LED2_PIN, PIN_LOW);
} else {
rt_pin_write(LED1_PIN, PIN_LOW);
rt_pin_write(LED2_PIN, PIN_HIGH);
}
rt_thread_mdelay(20);
}
}
static void key2_callback(void *args)
{
char str = args;
rt_kprintf(str);
}
int gpio_test(void)
{
/
gpio input and output test /
rt_pin_mode(KEY1_PIN, PIN_MODE_INPUT_PULLUP);
rt_pin_mode(LED1_PIN, PIN_MODE_OUTPUT);
rt_pin_write(LED1_PIN, PIN_LOW);
rt_pin_mode(LED2_PIN, PIN_MODE_OUTPUT);
rt_pin_write(LED2_PIN, PIN_HIGH);
rt_thread_t tid;
tid = rt_thread_create("key_led", key_led_thread_entry, RT_NULL, 512, 10, 5);
if (tid != RT_NULL) {
rt_thread_startup(tid);
} else {
rt_kprintf("startup the thread failed!n");
}
/
gpio irq test */
rt_pin_mode(KEY2_PIN, PIN_MODE_INPUT_PULLUP);
rt_pin_attach_irq(KEY2_PIN, PIN_IRQ_MODE_FALLING, key2_callback, (void *)"KEY2!n");
rt_pin_irq_enable(KEY2_PIN, PIN_IRQ_ENABLE);
}
INIT_APP_EXPORT(gpio_test);

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

    關(guān)注

    22

    文章

    1592

    瀏覽量

    107724
  • 觸發(fā)器
    +關(guān)注

    關(guān)注

    14

    文章

    1995

    瀏覽量

    61007
  • STB
    STB
    +關(guān)注

    關(guān)注

    0

    文章

    23

    瀏覽量

    16561
  • GPIO
    +關(guān)注

    關(guān)注

    16

    文章

    1188

    瀏覽量

    51821
  • RT-Thread
    +關(guān)注

    關(guān)注

    31

    文章

    1259

    瀏覽量

    39823
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    N32L43XCL-STB開發(fā)板硬件使用手冊(cè)

    N32L43XCL-STB開發(fā)板用于國(guó)民技術(shù)股份有限公司高性能32位N32L43XCL系列芯片的樣片開發(fā)。本文檔詳細(xì)描述了N32L43XCL-STB
    發(fā)表于 11-02 08:10

    N32L40XCL-STB開發(fā)板硬件使用手冊(cè)

    N32L40XCL-STB開發(fā)板用于國(guó)民技術(shù)股份有限公司高性能32位N32L40XCL系列芯片的樣片開發(fā)。本文檔詳細(xì)描述了N32L40XCL-STB
    發(fā)表于 11-02 06:35

    國(guó)民技術(shù)N32G45XCL-STB開發(fā)板資料

    國(guó)民技術(shù)N32G45XCL-STB開發(fā)板原理圖資料
    發(fā)表于 11-07 15:12 ?7次下載

    國(guó)民技術(shù)N32G43XCL-STB開發(fā)板資料

    國(guó)民技術(shù)N32G43XCL-STB開發(fā)板資料
    發(fā)表于 11-07 15:30 ?13次下載

    N32G45XCL-STB (LQFP48)開發(fā)板

    N32G45XCL-STB (LQFP48)開發(fā)板
    發(fā)表于 11-10 19:51 ?0次下載
    <b class='flag-5'>N32G45XCL-STB</b> (LQFP48)<b class='flag-5'>開發(fā)板</b>

    N32G45XCL-STB (LQFP48) 開發(fā)板

    N32G45XCL-STB (LQFP48) 開發(fā)板
    發(fā)表于 11-10 19:51 ?0次下載
    <b class='flag-5'>N32G45XCL-STB</b> (LQFP48) <b class='flag-5'>開發(fā)板</b>

    N32G43XCL-STB (LQFP48) 開發(fā)板

    N32G43XCL-STB (LQFP48) 開發(fā)板
    發(fā)表于 11-10 19:51 ?0次下載
    <b class='flag-5'>N32G43XCL-STB</b> (LQFP48) <b class='flag-5'>開發(fā)板</b>

    N32L43XCL-STB (LQFP48) 開發(fā)板

    N32L43XCL-STB (LQFP48) 開發(fā)板
    發(fā)表于 11-10 19:51 ?4次下載
    <b class='flag-5'>N32L43XCL-STB</b> (LQFP48) <b class='flag-5'>開發(fā)板</b>

    N32L40XCL-STB (LQFP48) 開發(fā)板

    N32L40XCL-STB (LQFP48) 開發(fā)板
    發(fā)表于 11-10 19:51 ?3次下載
    <b class='flag-5'>N32L40XCL-STB</b> (LQFP48) <b class='flag-5'>開發(fā)板</b>

    N32G43XCL-STB (LQFP48) 開發(fā)板

    N32G43XCL-STB (LQFP48) 開發(fā)板
    發(fā)表于 11-10 19:51 ?1次下載
    <b class='flag-5'>N32G43XCL-STB</b> (LQFP48) <b class='flag-5'>開發(fā)板</b>

    N32L40XCL-STB 開發(fā)板模塊評(píng)測(cè)任務(wù)挑戰(zhàn)

    評(píng)測(cè)任務(wù)挑戰(zhàn)活動(dòng),讓開發(fā)者小伙伴們互相協(xié)作,對(duì)開發(fā)板的每個(gè)模塊功能進(jìn)行
    的頭像 發(fā)表于 03-28 03:25 ?827次閱讀

    N32L40XCL-STB開發(fā)板模塊評(píng)測(cè)任務(wù)挑戰(zhàn)UART

    本文主要對(duì)通過RT-Thread Studio對(duì)國(guó)民技術(shù)開發(fā)板N32L40XCL-STB 進(jìn)行UART外設(shè)配置,實(shí)現(xiàn)開發(fā)板串口功能。
    的頭像 發(fā)表于 08-09 15:25 ?798次閱讀
    <b class='flag-5'>N32L40XCL-STB</b><b class='flag-5'>開發(fā)板</b><b class='flag-5'>模塊</b><b class='flag-5'>評(píng)測(cè)</b><b class='flag-5'>任務(wù)</b>大<b class='flag-5'>挑戰(zhàn)</b><b class='flag-5'>之</b>UART

    N32L40XCL-STB開發(fā)板模塊評(píng)測(cè)任務(wù)挑戰(zhàn)-測(cè)試CAN

    選擇下載了N32L40XXX_V2.1.0.zip資料包后,解壓得到官方Demo,數(shù)據(jù)手冊(cè),評(píng)估,軟件開發(fā)套件,應(yīng)用筆記,測(cè)試資料等等。
    的頭像 發(fā)表于 08-16 16:15 ?1113次閱讀
    <b class='flag-5'>N32L40XCL-STB</b><b class='flag-5'>開發(fā)板</b><b class='flag-5'>模塊</b><b class='flag-5'>評(píng)測(cè)</b><b class='flag-5'>任務(wù)</b>大<b class='flag-5'>挑戰(zhàn)</b>-<b class='flag-5'>測(cè)試</b>CAN

    國(guó)民技術(shù)N32G45XCL-STB_(LQFP48)_開發(fā)板

    國(guó)民技術(shù)N32G45XCL-STB_(LQFP48)_開發(fā)板
    發(fā)表于 10-18 16:13 ?0次下載

    國(guó)民技術(shù)N32G45XCL-STB_(LQFP48)開發(fā)板

    國(guó)民技術(shù)N32G45XCL-STB_(LQFP48)開發(fā)板
    發(fā)表于 10-18 16:13 ?2次下載