|
软件: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? |
咨询下,新项目打算用STM32F103的USB与工控机或PAD进行通讯,问题如下
在 STM32CubeIDE 中正确设置 STM32F103C8T6 的 Flash 容量
STM32F103 串口下载ST Flash Loader Demo
请问一下STM32F103C8T6的Hardwar NSS Output ENABLE后cs持续拉低是为什么
foc2.0函数SVPWM_3ShuntCalcDutyCycles看不明白
F103的IIC支持高速400K频率吗?
STM32F103RCT6断电以后,ADC会漏电
无源晶振开关电路设计
要在STM32F103C8T6上实现TIM+DMA+ADC采集电压,cubemx配置为什么,代码怎么写
PCF8563(RTC)读取时间有误
微信公众号
手机版
Proteus 不能代替硬件仿真,BUG非常多的,很多模拟电路都模拟不出来。
看来只有上硬件了