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

    文章

    1592

    浏览量

    107991
  • 触发器
    +关注

    关注

    14

    文章

    2000

    浏览量

    61148
  • STB
    STB
    +关注

    关注

    0

    文章

    23

    浏览量

    16583
  • GPIO
    +关注

    关注

    16

    文章

    1204

    浏览量

    52087
  • RT-Thread
    +关注

    关注

    31

    文章

    1288

    浏览量

    40116
收藏 人收藏

    评论

    相关推荐

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

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

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

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

    国民技术N32G45XCL-STB开发板资料

    国民技术N32G45XCL-STB开发板原理图资料
    发表于 11-07 15:12 7次下载

    国民技术N32G43XCL-STB开发板资料

    国民技术N32G43XCL-STB开发板资料
    发表于 11-07 15:30 13次下载

    N32G45XCL-STB (LQFP48)开发板

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

    N32G45XCL-STB (LQFP48) 开发板

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

    N32G43XCL-STB (LQFP48) 开发板

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

    N32L43XCL-STB (LQFP48) 开发板

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

    N32L40XCL-STB (LQFP48) 开发板

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

    N32G43XCL-STB (LQFP48) 开发板

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

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

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

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

    本文主要对通过RT-Thread Studio对国民技术开发板N32L40XCL-STB 进行UART外设配置,实现开发板串口功能。
    的头像 发表于 08-09 15:25 872次阅读
    <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>UART

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

    选择下载了N32L40XXX_V2.1.0.zip资料包后,解压得到官方Demo,数据手册,评估,软件开发套件,应用笔记,测试资料等等。
    的头像 发表于 08-16 16:15 1181次阅读
    <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

    国民技术N32G45XCL-STB_(LQFP48)_开发板

    国民技术N32G45XCL-STB_(LQFP48)_开发板
    发表于 10-18 16:13 0次下载

    国民技术N32G45XCL-STB_(LQFP48)开发板

    国民技术N32G45XCL-STB_(LQFP48)开发板
    发表于 10-18 16:13 2次下载