请问下各位大佬们,stm32f103 spec上描述是可以使用SMBUS和PMBUS的,但是在用CUBEMX生成代码时,可配置的选项很少,SMBUS代码为空,这个是什么情况 根据SPEC是需要配置一些寄存器,请问下是需要在I2C的配置下手动改CR1和SR1的配置吗? |
stm32进入stop模式被莫名其妙唤醒(应该是systick)但是无法被WKUP引脚唤醒。
头文件找不到
软件为keil5,头文件未找到
通过FATFS文件系统读写SD卡创建文件可以了,但加入MSC,一直显示一个没有格式化的U盘盘符,也不能格式化,这是什么问题导致的
MCSDK6.3.1使用SIXSTEP如何才能使用电流模式呢?我在配置了电流传感器后仍然无法使用电流模式。
stm32f103汇编求助
cubemx 生成的freertos代码 在keil ac6下不能编译,有什么解决的方法吗
报错Could not determine GDB version using command: arm-none-eabi-gdb --version
stm32f107vct6配RTL8201例程
STM32F103VGT6 能代替 STM32F103VFT6 吗?
你通过cubemx配置时,选择某个I2C后,接着选择使用方式,即I2C还是SMBUS。之后生成的MX_I2C1_SMBUS_Init(void)函数里
就可以清晰看见相关配置,包括你提到的对CR1的配置。在STM32参考手册里就I2C协议与SMBUS协议的差异有个表格也罗列出来了。
二者很类似,SMBUS协议可以看做I2C协议的一个子集,可简单将SMBUS看成低速I2C BUS。
/* USER CODE END I2C1_Init 1 */
hsmbus1.Instance = I2C1;
hsmbus1.Init.ClockSpeed = 100000;
hsmbus1.Init.AnalogFilter = SMBUS_ANALOGFILTER_ENABLE;
hsmbus1.Init.OwnAddress1 = 0;
hsmbus1.Init.AddressingMode = SMBUS_ADDRESSINGMODE_7BIT;
hsmbus1.Init.DualAddressMode = SMBUS_DUALADDRESS_DISABLE;
hsmbus1.Init.OwnAddress2 = 0;
hsmbus1.Init.GeneralCallMode = SMBUS_GENERALCALL_DISABLE;
hsmbus1.Init.NoStretchMode = SMBUS_NOSTRETCH_DISABLE;
hsmbus1.Init.PacketErrorCheckMode = SMBUS_PEC_DISABLE;
hsmbus1.Init.PeripheralMode = SMBUS_PERIPHERAL_MODE_SMBUS_SLAVE;
if (HAL_SMBUS_Init(&hsmbus1) != HAL_OK)
{
Error_Handler();
}
如果是CubeMx的问题,不妨重启或更新下。
static void MX_I2C1_SMBUS_Init(void){
hsmbus1.Instance = I2C1;
hsmbus1.Init.ClockSpeed = 100000;
hsmbus1.Init.AnalogFilter = SMBUS_ANALOGFILTER_ENABLE;
hsmbus1.Init.OwnAddress1 = 0;
hsmbus1.Init.AddressingMode = SMBUS_ADDRESSINGMODE_7BIT;
hsmbus1.Init.DualAddressMode = SMBUS_DUALADDRESS_DISABLE;
hsmbus1.Init.OwnAddress2 = 0;
hsmbus1.Init.GeneralCallMode = SMBUS_GENERALCALL_DISABLE;
hsmbus1.Init.NoStretchMode = SMBUS_NOSTRETCH_DISABLE;
hsmbus1.Init.PacketErrorCheckMode = SMBUS_PEC_DISABLE;
hsmbus1.Init.PeripheralMode = SMBUS_PERIPHERAL_MODE_SMBUS_SLAVE;
if (HAL_SMBUS_Init(&hsmbus1) != HAL_OK)
{
Error_Handler();
}
如果是CubeMx的问题,不妨重启或更新下。
我生成后没有这段代码,但是F4系列的生成就有,F1系列的生成就有,请问你也是在F1系列下生成的吗?再请问下Cube的版本是哪个版本 呢
[md]说错了,F4系列生成就有,F1系列生成就没有这段代码
我们可以后续跟踪下。 你暂时可以参考其它系列配置。