|
软件:Proteus 8.16(Build36097) MCU:STM32F103C8T6,用Proteus库中的STM32F103C8仿真 问题描述:用软件模拟I2C驱动PCF8574,并以Proteus仿真。通过STM32CubeMX将上述MCU的PB8、PB9引脚配置为开漏输出且无内部上/下拉电阻,并将两个引脚分别与PCF8574的SDA与SCL引脚相连。IO口的配置代码如图所示:
时钟线与数据线分别通过2.2K的上拉电阻连接至5V电源(按照STM32F1系列的手册,PB8、9可耐受5V电压),MCU的电源电压配置为3.3V,PCF8574的电源电压配置为5V,仿真电路如图所示
结果发现,时钟线与数据线的逻辑高电平未被上拉至5V,而仅有3.3V,故PCF8574没有响应(按照规格书,该IC的逻辑高电平输入电压应满足Vin>0.7Vcc=3.5V>3.3V)。改用3.3V电源电压驱动PCF8574,发现其SDA无法将数据线拉至逻辑低电平,仿真波形如图所示(读出数据应为0x23):
遂用如下电路图测试:
表明PB8未处于开漏输出状态。不知这是不是Proteus仿真STM32的bug? |
STM32F103RCT6断电以后,ADC会漏电
STM32CubeMX配置STM32F103C8T6 RTC分频器问题
请教STM32F103的DMA空闲接收问题
STM32F103VCT6通过串口1烧录程序问题
F103的IIC支持高速400K频率吗?
为什么用cubemax生成f103c8t6的freertos在编译时会报错
CUBEIDE打开一个工程,怎么改变主控芯片的同系列型号?
STM32F103 使用PA9输出PWM问题
STM32F103C8T6是否支持TIM3的PWM边沿触发AD采集
HAL_I2C_Mem_Read 一直返回 BUSY
微信公众号
手机版
Proteus 不能代替硬件仿真,BUG非常多的,很多模拟电路都模拟不出来。
看来只有上硬件了