【目的】
NXP-MCXN947外设中有有i3c外设,开发板上板载了P3T155温度传感器。此次使用MCUXpresso的示例的i3c的温度传感器示例。
【实现步骤】
1、打开sdk示例导入向导,选择好开发板,打开driver_examples中的i3c下面的p3t155示例:
选好后,生成工程,在IDE中打开工程。
2、主要代码分析,在工程中的component下的fsl_p3t1355中示例给出了p3t155的驱动包。驱动包中暴露出四个接口,分别为
status_t P3T1755_Init(p3t1755_handle_t *handle, p3t1755_config_t *config);
status_t P3T1755_WriteReg(p3t1755_handle_t *handle, uint32_t regAddress, uint8_t *regData, size_t dataSize);
status_t P3T1755_ReadReg(p3t1755_handle_t *handle, uint32_t regAddress, uint8_t *regData, size_t dataSize);
status_t P3T1755_ReadTemperature(p3t1755_handle_t *handle, double *temperature);
3、我们需要结合驱动库来配合这四个函数完成对p3t155的一些必要的重新组装。
4、首先我们需要初始化i3c的IO,在pin_mux.c中初始化IO(其实这个也可以通过PIN的配置工程来实现)在函数
BOARD_InitPins
中,示例添加了i3c的IO初始化。
5、在i3c_master_read_sensor_p3t1755.c中代码先对p3t的一些结构体、通迅速率进行了配置。最后在主循环中周期获取温度,并通过串口输出:
详细代码大家可以在示例中详细查看。
【实现效果】
下载到开发板后,可以看到周期的输出的温度值: