0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

N32L40XCL-STB开发板模块评测任务大挑战之测试GPIO

冬至子 来源:cir2way 作者:cir2way 2023-09-15 17:00 次阅读

1 测试环境

开发板:N32L40XCL-STB V1.0
开发环境:RT-Thread studio 2.2.6
RT-Thread版本:4.0.2

2 硬件资源介绍

开发板上共有3个按键和3个LED如下图所示。

GPIO输入输出测试:KEY1对应引脚设置为GPIO输入,控制LED1、LED2亮灭
GPIO中断模式测试:KEY2对应引脚设置为下降沿触发,触发后打印KEY2!等若干字符
LED3指示系统正常工作

1.jpg

3 GPIO测试代码

关于工程创建等可参考其他人的文章,在applications文件夹中创建gpio_test.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);

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • led灯
    +关注

    关注

    22

    文章

    1554

    浏览量

    107036
  • 触发器
    +关注

    关注

    14

    文章

    1685

    浏览量

    60412
  • STB
    STB
    +关注

    关注

    0

    文章

    23

    浏览量

    16494
  • GPIO
    +关注

    关注

    16

    文章

    1137

    浏览量

    50596
  • RT-Thread
    +关注

    关注

    31

    文章

    1150

    浏览量

    38909
收藏 人收藏

    评论

    相关推荐

    N32L40XRQ-STB开发板硬件使用指南

    N32L40XRQ-STB开发板硬件使用指南开发板用于国民技术股份有限公司32位N32L40XRQ系列MCU的开发。本文档详细描述了
    发表于 11-01 06:47

    N32L40XRL-STB开发板硬件使用指南

    N32L40XRL-STB开发板硬件使用指南开发板用于国民技术股份有限公司32位N32L40XRL系列MCU的开发。本文档详细描述了
    发表于 11-01 06:53

    N32L40XML-STB开发板硬件使用指南

    N32L40XML-STB开发板硬件使用指南开发板用于国民技术股份有限公司32位N32L40XML系列MCU的开发。本文档详细描述了
    发表于 11-01 08:27

    N32L40XKQ-STB开发板硬件使用指南

    N32L40XKQ-STB开发板硬件使用指南开发板用于国民技术股份有限公司32位N32L40XKQ系列MCU的开发。本文档详细描述了
    发表于 11-01 08:21

    N32L40XCQ-STB开发板硬件使用指南

    N32L40XCQ-STB开发板硬件使用指南开发板用于国民技术股份有限公司32位N32L40XCQ系列MCU的开发。本文档详细描述了
    发表于 11-01 08:14

    N32G43XCL-STB开发板硬件使用手册

    N32G43XCL-STB开发板用于国民技术股份有限公司高性能32位N32G43XCL系列芯片的样片开发。本文档详细描述了N32G43XCL-STB
    发表于 11-02 06:13

    N32L43XCL-STB开发板硬件使用手册

    N32L43XCL-STB开发板用于国民技术股份有限公司高性能32位N32L43XCL系列芯片的样片开发。本文档详细描述了N32L43XCL-STB
    发表于 11-02 08:10

    N32L40XCL-STB开发板硬件使用手册

    N32L40XCL-STB开发板用于国民技术股份有限公司高性能32位N32L40XCL系列芯片的样片开发。本文档详细描述了N32L40XCL-STB
    发表于 11-02 06:35

    N32G43XCL-STB开发板硬件使用手册

    N32G43XCL-STB开发板用于国民技术股份有限公司高性能32位N32G43XCL系列芯片的样片开发。本文档详细描述了N32G43XCL-STB
    发表于 11-02 08:12

    N32L40XCL-STB (LQFP48) 开发板

    N32L40XCL-STB (LQFP48) 开发板
    发表于 11-10 19:51 1次下载
    <b class='flag-5'>N32L40XCL-STB</b> (LQFP48) <b class='flag-5'>开发板</b>

    N32G43XCL-STB (LQFP48) 开发板

    N32G43XCL-STB (LQFP48) 开发板
    发表于 11-10 19:51 0次下载
    N32G43<b class='flag-5'>XCL-STB</b> (LQFP48) <b class='flag-5'>开发板</b>

    N32L40XCL-STB 开发板模块评测任务挑战

    评测任务挑战活动,让开发者小伙伴们互相协作,对开发板的每个模块功能进行
    的头像 发表于 03-28 03:25 638次阅读

    N32L40XCL-STB开发板模块评测任务挑战之UART

    本文主要对通过RT-Thread Studio对国民技术开发板N32L40XCL-STB 进行UART外设配置,实现开发板串口功能。
    的头像 发表于 08-09 15:25 526次阅读
    <b class='flag-5'>N32L40XCL-STB</b><b class='flag-5'>开发板</b><b class='flag-5'>模块</b><b class='flag-5'>评测</b><b class='flag-5'>任务</b>大<b class='flag-5'>挑战</b>之UART

    N32L40XCL-STB开发板评测】I2C接口测试

    32L40XCL集成了2个独立的I2C总线接口,它提供多主机功能,控制所有I2C总线特定的时序
    发表于 08-11 14:37 383次阅读
    【<b class='flag-5'>N32L40XCL-STB</b><b class='flag-5'>开发板</b><b class='flag-5'>评测</b>】I2C接口<b class='flag-5'>测试</b>

    N32L40XCL-STB开发板模块评测任务挑战-测试CAN

    选择下载了N32L40XXX_V2.1.0.zip资料包后,解压得到官方Demo,数据手册,评估板,软件开发套件,应用笔记,测试资料等等。
    的头像 发表于 08-16 16:15 777次阅读
    <b class='flag-5'>N32L40XCL-STB</b><b class='flag-5'>开发板</b><b class='flag-5'>模块</b><b class='flag-5'>评测</b><b class='flag-5'>任务</b>大<b class='flag-5'>挑战</b>-<b class='flag-5'>测试</b>CAN