Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
NXP 微控制器
NXP-MCXN947
PIN_GPIO通用驱动
恩智浦mcxn947的RT-Thread的PIN驱动测评
发布于 2024-04-22 22:57:45 浏览:264
订阅该版
各位开发者大家好,上一篇我简单的介绍了mcxn947的GPIO的部分驱动,现在继续水点,本人才疏学浅,欢迎各位大佬批评指正。 大家看这部分代码就是mcxn947的PIN设备注册的部分代码 ![screenshot_undefined](undefined) ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20240422/cb802aae929da6242efcee67c2292fda.png.webp) 如果成功注册,那么应该返回的是RT_EOK,我们可以看到,RTT的操作系统框架在编写上结构还是非常统一的,这使得在为其他芯片移植的时候极易上手,之前的经验也都很有用。 ![screenshot_undefined](undefined) ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20240422/93f885e564a2973177c1893b4d91b3d0.png.webp) 成功进入调试界面 但是实际上我没在msh里找到 ![screenshot_undefined](undefined) ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20240422/c677231f1b2ccf941e15d55800e0c004.png.webp) 但是在判断ret的返回值的时候显示是注册了的 ![screenshot_undefined](undefined) ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20240422/816394ec95cc6bcb217fc2be462362de.png) ![screenshot_undefined](undefined) ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20240422/1587fe8cd32647df85e5fec13ad79667.png.webp) 好吧这里我显然是用了一种蹩脚的方式(返回值RT_EOK被宏定义为0)好在最后是成功了,他这个板子的设备注册是自动的,其实实际上不用在main函数中引入,我这么做就是想搞到那个返回值。 ![screenshot_undefined](undefined) ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20240422/f2f908206a6e5798712636ff14bd26e6.png.webp) ![screenshot_undefined](undefined) ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20240422/02b4e798ac8633a2c255e01f64f1561f.png.webp) 接下来给大家带来一个花式点灯,这个板子有个rgb灯,我查阅网上其他大佬的资料发现的,没想到看看起来还是挺好看的。 FRDM-MCXN947集成了一块RGB LED,它由三个GPIO口驱动,这里由于GPIO的电平只能是0或者1,所以这里的RGB LED并不能像LCD的单个像素那样合成256x256x256种颜色,显然我们能弄多少种就弄几种。 ![screenshot_undefined](undefined) ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20240422/df7f3b3abec47eac7d8a93f1be3f8573.png.webp) ![screenshot_undefined](undefined) ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20240422/8bf0367bfd02445d5920322d93ccaf5d.png.webp) 数据手册上有LED的连接的引脚。 ![screenshot_undefined](undefined) ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20240422/94d90f967e361e51997efbf3daf788f7.png.webp) 要想使引脚点亮灯泡,明显是从vcc往GPIO里灌电流,因此设置的时候用低电平。 ![screenshot_undefined](undefined) ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20240422/745ceb2b81f619469cb1f77b1d78640a.png) 要想让IO口有驱动能力,得用PIN_MODE_OUTPUT 无论是灌电流还是拉电流。 ![screenshot_undefined](undefined) ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20240422/635e2761fdafb60ba7c03087412945b6.png.webp) ![screenshot_undefined](undefined) ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20240422/41222ae0509b7f5d6f6160958b506a91.png.webp) ![screenshot_undefined](undefined) ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20240422/16998a681549330cacfbe415b1520a36.png.webp) ![screenshot_undefined](undefined) ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20240422/2e7000a44d60eee5e0cd021551d75a77.png.webp) ![screenshot_undefined](undefined) ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20240422/1dae93bb4a8e90ad06e4309a6efc9e32.png.webp) 接下来我们看看中断和引脚读取 ![screenshot_undefined](undefined) ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20240422/f7d4cc6fe8118406a4d0bdf35578a9ab.png) ![screenshot_undefined](undefined) ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20240422/e7d08f53635dbe3734db1ab1212d3079.png) 简单写了一个回调函数用于检测输入电压的高低电平并输出,这样一方面测试读电平的驱动,一方面测试中断。 ![screenshot_undefined](undefined) ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20240422/4acb0d6929eceb49221fab5ca3dc619b.png) RTT的驱动使用方法非常简洁,由于官方已经给配置好了驱动,只需要设置设置对应引脚的名称和模式(默认上拉输入),给设置中断的函数依次传入引脚名称,触发信号模式(下降沿触发),回调函数的名称,还有最后一个位置是参数,如果没有参数可以传入一个RT_NULL,之后就是使能这个中断。 ![screenshot_undefined](undefined) ![screenshot_image.png](https://oss-club.rt-thread.org/uploads/20240422/41d487515533c1ffef570d6d0ba83f0f.png.webp) 可以看到这个读取的功能还是很好用的。
0
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
单片机单片魂
这家伙很懒,什么也没写!
文章
5
回答
1
被采纳
1
关注TA
发私信
相关文章
1
试贴-消灭0主题
2
LPC M4的一些资料
3
LPC4088的临时分支
4
lpc1788 ad 不稳定
5
1788 LCD控制器缓冲区字节问题
6
一起来学习LPC4088吧
7
上传LPC4088的realtouch主工程
8
RealBoard 4088预定帖 [第一批板子不多,预定提前结束]
9
晒RealBoard LPC4088开箱照啦,速带小板凳前来围观
10
4088主程序需要的SD卡资源
推荐文章
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组件
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
WIZnet_W5500
UART
ota在线升级
PWM
cubemx
freemodbus
flash
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
Debug
编译报错
msh
SFUD
keil_MDK
rt_mq_消息队列_msg_queue
ulog
C++_cpp
at_device
本月问答贡献
踩姑娘的小蘑菇
7
个答案
3
次被采纳
a1012112796
13
个答案
2
次被采纳
张世争
9
个答案
2
次被采纳
rv666
5
个答案
2
次被采纳
用户名由3_15位
11
个答案
1
次被采纳
本月文章贡献
程序员阿伟
9
篇文章
2
次点赞
hhart
3
篇文章
4
次点赞
大龄码农
1
篇文章
5
次点赞
RTT_逍遥
1
篇文章
2
次点赞
ThinkCode
1
篇文章
1
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部