Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
LED
PIN_GPIO通用驱动
rt-smart
5
应用开发如何包含头文件
发布于 2021-12-17 15:53:20 浏览:1878
订阅该版
在imx6ul上移植了rt-smart,目前搞定了UART、SD卡、PIN的驱动,现在准备写一个简单的应用,先简单的把userapp里的Hello程序复制修改为myled,通过romfs挂载,在板子上可以找到并成功执行。 现在的问题是我准备简单的控制板子上的一个LED,但编译时总是报错,rt_pin_mode等函数未定义,我包含了相关的头文件,甚至直接给出了头文件(pin.h)的绝对地址还是不行,只能求助啦。下面是我目前的代码 ```c #include
#include
#include
#define RT_USING_PIN int main(int argc, char **argv) { rt_pin_mode(41, PIN_MODE_OUTPUT); rt_pin_write(41, PIN_LOW); printf("hello joey!\n"); return 0; } ``` 下面是部分错误信息 ``` apps/myled/main.c:17:2: error: implicit declaration of function 'rt_pin_mode'; did you mean 'rt_memmove'? [-Werror=implicit-function-declaration] rt_pin_mode(41, PIN_MODE_OUTPUT); ^~~~~~~~~~~ rt_memmove apps/myled/main.c:17:18: error: 'PIN_MODE_OUTPUT' undeclared (first use in this function) rt_pin_mode(41, PIN_MODE_OUTPUT); ^~~~~~~~~~~~~~~ ```
查看更多
achinwoo
2021-12-20
这家伙不懒,啥都会写
因为这里是smart的用户态实现代码,原来的宏内核的接口不可以使用,可以尝试下面代码实现: 该代码实现的功能: 1. 实现LED大约400ms周期闪烁 2. 实现按键检测,检测大于200ms的脉宽电平。 ```c #include
#include "stdio.h" #include "gpio_app.h" #define LED_PIN GET_PIN(GPIO_PORT_E, GPIO_PIN_2) //替换你的GPIO #define LED2_PIN GET_PIN(GPIO_PORT_E, GPIO_PIN_1) //替换你的GPIO #define BUT_PIN GET_PIN(GPIO_PORT_G, GPIO_PIN_11) //替换你的GPIO static void _gpio_get(void *parameter) { rt_device_t pin_dev; struct rt_device_pin_mode pin_mode; struct rt_device_pin_status pin_status; pin_dev = rt_device_find("pin"); rt_device_open(pin_dev, RT_DEVICE_OFLAG_RDWR); pin_mode.pin = BUT_PIN; pin_mode.mode = PIN_MODE_INPUT_PULLUP; rt_device_control(pin_dev, 0 ,(void*)&pin_mode); pin_status.pin = BUT_PIN; while (1) { rt_device_read(pin_dev, 0 ,(void*)&pin_status, sizeof(pin_status)); printf("button %d!\n", pin_status.status); rt_thread_mdelay(200); } } int main(int argc, char **argv) { rt_device_t pin_dev; struct rt_device_pin_mode pin_mode; struct rt_device_pin_status pin_status; rt_thread_t tid1; printf("gpio example!\n"); pin_dev = rt_device_find("pin"); if (pin_dev == RT_NULL) { rt_kprintf("not find pin device!\n"); return -1; } rt_device_open(pin_dev, RT_DEVICE_OFLAG_RDWR); pin_mode.pin = LED_PIN; pin_mode.mode = PIN_MODE_OUTPUT; rt_device_control(pin_dev, 0 ,(void*)&pin_mode); pin_status.pin = LED_PIN; tid1 = rt_thread_create("gpio.get", _gpio_get, RT_NULL, 4096, 25, 50); if (tid1) { rt_thread_startup(tid1); } while(1) { pin_status.status = PIN_LOW; rt_device_write(pin_dev, 0 ,(void*)&pin_status, sizeof(pin_status)); rt_thread_mdelay(200); pin_status.status = PIN_HIGH; rt_device_write(pin_dev, 0 ,(void*)&pin_status, sizeof(pin_status)); rt_thread_mdelay(200); } rt_device_close(pin_dev); return 0; } ```
2
个回答
默认排序
按发布时间排序
ledoen
2021-12-17
这家伙很懒,什么也没写!
刚试了以下,在`bsp/[board]/applications/main.c`,有相似的代码,直接改成我要控制的PIN就成功了。但是这仍然没有解解决之前的问题:为什么userapps里无法使用rt_pin_mode等函数,即使包含了头文件?
撰写答案
登录
注册新账号
关注者
0
被浏览
1.9k
关于作者
ledoen
这家伙很懒,什么也没写!
提问
6
回答
4
被采纳
0
关注TA
发私信
相关问题
1
STM32F03RC跑RTT标准版 没有运行
2
为什么 Count 的值不连续和间隔为 7?
3
请求LED.C/H文件
4
RT-thread 如何被当做“单片机”,控制小灯的亮灭?
5
ART-PI Smart User 运行LED 程序崩溃
6
agile led软件包怎么使用
7
AT32F423开发板呼吸灯无作用,只有一个灯亮
8
PIN绑定引脚中断回调函数没有反应
9
rtthread PIN设备
10
关于引脚宏定义的一些疑惑
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
RT-Thread中的time溢出问题,时间戳溢出,解决方法
2
ART-PI使用env驱动ETH网卡,pc和板子可以ping通
3
SystemView线程名字不显示
4
只用网页也能跑RT-Smart 无门槛腾讯Cloud studio + smart-build快速构建
5
免费申请 | FRDM-MCXA156评测活动发布!
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
DMA
USB
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
I2C_IIC
ESP8266
UART
cubemx
WIZnet_W5500
ota在线升级
PWM
BSP
flash
freemodbus
packages_软件包
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
编译报错
中断
Debug
rt_mq_消息队列_msg_queue
keil_MDK
ulog
SFUD
msh
C++_cpp
MicroPython
本月问答贡献
RTT_逍遥
8
个答案
2
次被采纳
三世执戟
7
个答案
1
次被采纳
KunYi
6
个答案
1
次被采纳
winfeng
2
个答案
1
次被采纳
chenyaxing
2
个答案
1
次被采纳
本月文章贡献
catcatbing
2
篇文章
5
次点赞
swet123
1
篇文章
3
次点赞
YZRD
1
篇文章
2
次点赞
Days
1
篇文章
2
次点赞
阳光的掌控者
1
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部