Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
NXP 微控制器
【FRDM-MCXA156测评】- P3T1755模块
发布于 2025-02-26 10:24:35 浏览:172
订阅该版
[tocm] # 【FRDM-MCXA156测评】- P3T1755模块 # 模块介绍 FRDM-MCXA156板载了P3T1755模块,P3T1755DP是精确的温度数字转换器,精度为±0.5°C,温度范围为–40°C到+125°C。它搭载了片上带隙温度传感器,采用模数转换技术,具有超温检测功能。温度寄存器始终存储12位二进制补码数据,温度分辨率为0.0625°C。P3T1755DP可配置为不同的工作模式:连续转换模式、单一转换模式或关闭模式。 该设备支持2线串行I3C(高达12.5MHz)和I²C(高达3.4MHz)作为通信接口。在I²C中,该设备最多支持4个目标地址和警报功能。在I3C中,该设备支持带内中断功能(IBI),使用同一总线报告警报中断。 由于RT-Thread目前还不支持I3C框架,所以只能暂时用I2C来读取。 # 硬件连接  由原理图可知,P3T1755所用到的引脚为P0_16(SDA)、P0_17(SCL)。由于当前RT-Thread 主仓中的FRDM-MCXA156都是最小的配置,所以我们要使能I2C和初始化IO口。 # 配置过程 ## 使能板载模块  ## 配置i2c引脚 添加在bsp\nxp\mcx\mcxa\frdm-mcxa156\board\MCUX_Config\board\pin_mux.c中的void BOARD_InitPins(void)函数中。 ~~~c /* LPI2C0 peripheral is released from reset */ RESET_ReleasePeripheralReset(kLPI2C0_RST_SHIFT_RSTn); const port_pin_config_t port0_16_pin83_config = {/* Internal pull-up resistor is enabled */ .pullSelect = kPORT_PullUp, /* Low internal pull resistor value is selected. */ .pullValueSelect = kPORT_LowPullResistor, /* Fast slew rate is configured */ .slewRate = kPORT_FastSlewRate, /* Passive input filter is disabled */ .passiveFilterEnable = kPORT_PassiveFilterDisable, /* Open drain output is disabled */ .openDrainEnable = kPORT_OpenDrainDisable, /* Low drive strength is configured */ .driveStrength = kPORT_LowDriveStrength, /* Normal drive strength is configured */ .driveStrength1 = kPORT_NormalDriveStrength, /* Pin is configured as LPI2C0_SDA */ .mux = kPORT_MuxAlt2, /* Digital input enabled */ .inputBuffer = kPORT_InputBufferEnable, /* Digital input is not inverted */ .invertInput = kPORT_InputNormal, /* Pin Control Register fields [15:0] are not locked */ .lockRegister = kPORT_UnlockRegister}; /* PORT0_16 (pin 83) is configured as LPI2C0_SDA */ PORT_SetPinConfig(PORT0, 16U, &port0_16_pin83_config); const port_pin_config_t port0_17_pin84_config = {/* Internal pull-up resistor is enabled */ .pullSelect = kPORT_PullUp, /* Low internal pull resistor value is selected. */ .pullValueSelect = kPORT_LowPullResistor, /* Fast slew rate is configured */ .slewRate = kPORT_FastSlewRate, /* Passive input filter is disabled */ .passiveFilterEnable = kPORT_PassiveFilterDisable, /* Open drain output is disabled */ .openDrainEnable = kPORT_OpenDrainDisable, /* Low drive strength is configured */ .driveStrength = kPORT_LowDriveStrength, /* Normal drive strength is configured */ .driveStrength1 = kPORT_NormalDriveStrength, /* Pin is configured as LPI2C0_SCL */ .mux = kPORT_MuxAlt2, /* Digital input enabled */ .inputBuffer = kPORT_InputBufferEnable, /* Digital input is not inverted */ .invertInput = kPORT_InputNormal, /* Pin Control Register fields [15:0] are not locked */ .lockRegister = kPORT_UnlockRegister}; /* PORT0_17 (pin 84) is configured as LPI2C0_SCL */ PORT_SetPinConfig(PORT0, 17U, &port0_17_pin84_config); ~~~ # 生成工程 ~~~c scons --target=mdk5 ~~~ # 示例代码 * 不使用sensor框架 ~~~c #include "P3T1755.h" static void p3t1755_test(int argc, char *argv[]) { p3t1755_init(); float temp = 0; if (p3t1755_read_temp(&temp) == RT_EOK) { rt_kprintf("temp:%.2f\n", temp); } } MSH_CMD_EXPORT(p3t1755_test, i2c p3t1755 sample); ~~~ * 使用sensor 框架 使能sensor框架  ~~~c #include "nxp_p3t1755_sensor_v2.h" static void p3t1755_sensor_test(void) { rt_device_t dev; struct rt_sensor_data data; struct rt_sensor_config config; rt_hw_p3t1755_init("p3t1755",&config); /* 查找传感器设备 */ dev = rt_device_find("tm-p3t1755"); /* 以只读及轮询模式打开传感器设备 */ rt_device_open(dev, RT_DEVICE_FLAG_RDONLY); if (rt_device_read(dev, 0, &data, 1) == 1) { rt_kprintf("temp: %.3f, timestamp:%5d\n", data.data.temp, data.timestamp); } rt_device_close(dev); } MSH_CMD_EXPORT(p3t1755_sensor_test, p3t1755 sensor test); ~~~ # 运行结果  使用sensor框架 
2
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
CYFS
这家伙很懒,什么也没写!
文章
7
回答
4
被采纳
0
关注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
rt-smart
RTC
FAL
I2C_IIC
cubemx
ESP8266
UART
WIZnet_W5500
ota在线升级
PWM
BSP
flash
freemodbus
packages_软件包
潘多拉开发板_Pandora
GD32
定时器
ADC
flashDB
编译报错
socket
中断
rt_mq_消息队列_msg_queue
keil_MDK
Debug
SFUD
ulog
msh
C++_cpp
MicroPython
本月问答贡献
出出啊
1522
个答案
343
次被采纳
小小李sunny
1444
个答案
290
次被采纳
张世争
815
个答案
179
次被采纳
crystal266
555
个答案
162
次被采纳
whj467467222
1222
个答案
149
次被采纳
本月文章贡献
出出啊
1
篇文章
2
次点赞
小小李sunny
1
篇文章
1
次点赞
张世争
1
篇文章
3
次点赞
crystal266
2
篇文章
1
次点赞
whj467467222
2
篇文章
1
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部