完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
使用STM32H503的I3C外设,但是在设置动态地址的时候一直在报错无应答,我想设置数据线在时钟线低电平的中间位置进行翻转不知道应该怎么设置?请大家帮帮忙!
使用的是官方的NUCLEO-H503RB。 |
|
相关推荐
1个回答
|
|
要设置数据线在时钟线低电平的中间位置进行翻转,你可以使用STM32H503的I3C外设中的一个叫做```I3C cin_high_dlc```的寄存器位来配置。
首先,你需要在初始化I3C外设时启用I3C特性。你可以使用类似以下代码的初始化函数来完成: ```c void I3C_Init(void) { // 使能I2C外设 LL_I2C_Enable(I2C1); // 将I2C设置为I3C模式 LL_I2C_SetI3CMode(I2C1, LL_I2C_I3C_MODE_ENABLE); // 配置I3C特性 LL_I2C_I3C_Enable(I2C1); // ... 其他初始化操作 } ``` 接下来,在发送I3C动态地址时,你可以使用```LL_I2C_GenerateStart```函数发送起始信号,并在发送过程中设置```I3C cin_high_dlc```寄存器位。 ```c void I3C_SendDynamicAddress(uint8_t address) { // 生成起始信号 LL_I2C_GenerateStart(I2C1); // 检查起始信号是否成功发送 while(!LL_I2C_IsActiveFlag_SB(I2C1)) // 设置I3C cin_high_dlc寄存器位 LL_I2C_SetDataOwnAddress1(I2C1, address | LL_I2C_I3C_CIN_HIGH_DLC_POS); // ... 其他发送动态地址的操作 } ``` 请注意,上述代码是基于LL库编写的,如果你使用的是HAL库或其他库,请根据库函数的命名和用法进行相应的调整。 希望能对你有所帮助! |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1617 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1543 浏览 1 评论
977 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
683 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1595 浏览 2 评论
1863浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
644浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
515浏览 3评论
531浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
504浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 06:48 , Processed in 0.659086 second(s), Total 48, Slave 41 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号