完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
此段SAMPLE程序代码只有看显示波器slaveAddress波型,但没有数据资料,请问需要修改哪里呢?谢谢~
/**************************************************** ********************************* * 定义 ****************** ****************************************************** **********/ #define EXAMPLE_MASTER I3C #define EXAMPLE_I2C_BAUDRATE 400000 #define I3C_MASTER_CLOCK_FREQUENCY CLOCK_Geti3cClkFreq() #define I3C_MASTER_SLAVE_ADDR_7BIT 0x1E #define WAIT_TIME 1000 #define I3C_DATA_LENGTH 33 i3c_master_config_t 主配置; i3c_master_transfer_t masterXfer; status_t 结果 = kStatus_Success; /* 将主时钟附加到 I3C,396MHz / 4 = 99MHz。*/ CLOCK_AttachClk(kMAIN_CLK_to_I3C_CLK); CLOCK_SetClkDiv(kCLOCK_DivI3cClk, 4); BOARD_InitBootPins(); BOARD_InitBootClocks(); BOARD_InitDebugConsole(); PRINTF("rnI3C board2board Interrupt example -- Master transfer.rn"); /* I3C模式:设置i3c master工作在I3C模式,向slave发送数据*/ / * txBuff中第一个数据为发送数据的数据长度。*/ g_master_txBuff[0] = I3C_DATA_LENGTH - 1U; 对于 (uint32_t i = 1U; i < I3C_DATA_LENGTH; i++) { g_master_txBuff = i - 1; } PRINTF("rn开始以I2C模式做I3C主控传输。rn"); PRINTF("Master 将发送数据:"); 对于 (uint32_t i = 0U; i < I3C_DATA_LENGTH - 1U; i++) { if (i % 8 == 0) { PRINTF("rn"); } PRINTF("0x%2x", g_master_txBuff[i + 1]); } PRINTF("rnrn"); I3C_MasterGetDefaultConfig(&masterConfig); masterConfig.baudRate_Hz.i2cBaud = EXAMPLE_I2C_BAUDRATE; masterConfig.baudRate_Hz.i3cPushPullBaud = 4000000U; masterConfig.baudRate_Hz.i3cOpenDrainBaud = 1500000U; masterConfig.enableOpenDrainStop = false; I3C_MasterInit(EXAMPLE_MASTER, &masterConfig, I3C_MASTER_CLOCK_FREQUENCY); /* 创建 I3C 句柄。*/ I3C_MasterTransferCreateHandle(EXAMPLE_MASTER, &g_i3c_m_handle, &masterCallback, NULL); memset(&masterXfer, 0, sizeof(masterXfer)); /* subAddress = 0x01, data = g_master_txBuff - 写入从机。 start + slaveaddress(w) + subAddress + data buffer 长度 + data buffer + stop*/ uint8_t deviceAddress = 0x01U; masterXfer.slaveAddress = I3C_MASTER_SLAVE_ADDR_7BIT; masterXfer.direction = kI3C_Write; masterXfer.busType = kI3C_TypeI2C; masterXfer.subaddress = (uint32_t)deviceAddress; masterXfer.subaddressSize = 1; masterXfer.data = g_master_txBuff; masterXfer.dataSize = I3C_DATA_LENGTH; masterXfer.flags = kI3C_TransferDefaultFlag; 结果 = I3C_MasterTransferNonBlocking(EXAMPLE_MASTER, &g_i3c_m_handle, &masterXfer); |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
1907个成员聚集在这个小组
加入小组我的项目我做主,使用GN+Ninja来完成构建系统(VSCode开发RT106X)
36358 浏览 0 评论
NXP IMX8应用处理器快速入门必备:技巧、使用、设计指南
4396 浏览 0 评论
6050 浏览 1 评论
6763 浏览 0 评论
NXP i.MX6UL开发板(linux系统烧录+规格+硬件+模块移植)使用手册
4213 浏览 0 评论
619浏览 2评论
求助,S32G上Core M启动后如何让Core A在Flash指定位置加载uboot?
614浏览 2评论
ESP32-WROVER-IE + LAN8720以太网,GPIO0电压只有1.6v,无法正常进入spi flash boot模式如何解决?
606浏览 2评论
求分享适用于PN7160 Android的NFC工厂测试应用程序
694浏览 2评论
798浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-23 07:58 , Processed in 0.958904 second(s), Total 75, Slave 58 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号