完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
型号:STM32F407ZE
硬件I2C1,使用STM32CubeMX生成代码,发现I2C1故障,现象是SCL无波形,排除端口以及上拉问题 查看数据手册I2C1有两种端口算着:I2C_SCL:PB6或PB7; I2C_SDA:PB7或PB9 发现只要PB9不参与,就出现SCL端口没有波形(用示波器,常为高) 设置部分的代码,是用STM32CubeMX生成的,如下: 主函数代码: int main(void) { HAL_Init(); SystemClock_Config(); MX_GPIO_Init(); MX_I2C1_Init(); MX_I2C2_Init(); uint8_t TMP8[3]={0xAA,0XAA,0XAA}; while(1) { HAL_I2C_Master_Transmit( hi2c1, 0x80,TMP8,3,100); HAL_I2C_Master_Transmit( hi2c2, 0x80,TMP8,3,100); } } 其中端口设置在文件:stm32f4xx_hal_msp.c中 void HAL_I2C_MspInit(I2C_HandleTypeDef* hi2c) { GPIO_InitTypeDef GPIO_InitStruct = {0}; if(hi2c->Instance==I2C1) { __HAL_RCC_GPIOB_CLK_ENABLE(); /**I2C1 GPIO Configuration PB6 ------> I2C1_SCL PB7 ------> I2C1_SDA */ //PB8 ------> I2C1_SCL //PB9 ------> I2C1_SDA GPIO_InitStruct.Pin = GPIO_PIN_6|GPIO_PIN_7;//错误,SCLK无波形 GPIO_InitStruct.Pin = GPIO_PIN_6|GPIO_PIN_9;//OK,SCLK有波形 GPIO_InitStruct.Pin = GPIO_PIN_8|GPIO_PIN_7;//错误,SCLK无波形 GPIO_InitStruct.Pin = GPIO_PIN_8|GPIO_PIN_9;//OK,SCLK有波形 GPIO_InitStruct.Mode = GPIO_MODE_AF_OD; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; GPIO_InitStruct.Alternate = GPIO_AF4_I2C1; HAL_GPIO_Init(GPIOB, GPIO_InitStruct); __HAL_RCC_I2C1_CLK_ENABLE(); } else if(hi2c->Instance==I2C2) { ……………… } } 请教,这是什么原因 |
|
相关推荐
1个回答
|
|
是硬件问题,SDA与其它地方短路,正在排除
|
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1848 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1647 浏览 1 评论
1120 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
745 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1704 浏览 2 评论
1959浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
766浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
596浏览 3评论
618浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
578浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-4 17:11 , Processed in 1.076337 second(s), Total 79, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (威廉希尔官方网站 图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号