在替换芯片时,发现STM32f103与STM32F030的区别:
内部结构
下图是103的IO口内部结构:
下图是030的IO口内部结构图:
通过上面的比较可以看出:
两个系列从基本结构图上可以看到最大的差异就是上拉下拉电阻的位置有区别。
103 系列的上下拉只在输入通道有效, 030 系列的在输入和输出都有效,因此 030 系列在浮空输出时也可以使用上下拉电阻,在 103 系列单片机中浮空输出是不能使用上下拉的,必须使用外部电阻辅助。
这两个IO 的结构区别对实际使用有哪些影响呢?最大的区别就是 IO 作为双向 IO 使用时,设置为浮空输出, 103 系列必须外面配置上拉电阻,而 030 系列则可以直接配置为上拉开漏输出,把 IO 口作为双向 IO 使用,特别是在模拟 IIC 时序中使用最方便!
————————————————
参考链接:https://blog.csdn.net/L18780079219/article/details/80551336
在配置到MISO的管脚时也会有不同
STM32F103:
/**SPI1 GPIO Configuration
PA5 ------> SPI1_SCK
PA6 ------> SPI1_MISO
PA7 ------> SPI1_MOSI
*/
GPIO_InitStruct.Pin = GPIO_PIN_5|GPIO_PIN_7;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
GPIO_InitStruct.Pin = GPIO_PIN_6;
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
GPIO_InitStruct.Pull = GPIO_NOPULL;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
STM32F030:
/**SPI1 GPIO Configuration
PA5 ------> SPI1_SCK
PA6 ------> SPI1_MISO
PA7 ------> SPI1_MOSI
*/
GPIO_InitStruct.Pin = GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
GPIO_InitStruct.Alternate = GPIO_AF0_SPI1;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
————————————————
参考链接:https://blog.csdn.net/yule/article/details/102755151
具体区别就是: F103的MISO要配置成输入(GPIO_MODE_INPUT), 而F030的要配置成复用(GPIO_MODE_AF_PP)。
ADC的区别:
STM32F1031有选择单通道和双通道,而STM32F030没有。
随笔随记
于即日
版权声明:本文为CSDN博主「bh4xjx」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/bh4xjx/article/details/122651316
在替换芯片时,发现STM32f103与STM32F030的区别:
内部结构
下图是103的IO口内部结构:
下图是030的IO口内部结构图:
通过上面的比较可以看出:
两个系列从基本结构图上可以看到最大的差异就是上拉下拉电阻的位置有区别。
103 系列的上下拉只在输入通道有效, 030 系列的在输入和输出都有效,因此 030 系列在浮空输出时也可以使用上下拉电阻,在 103 系列单片机中浮空输出是不能使用上下拉的,必须使用外部电阻辅助。
这两个IO 的结构区别对实际使用有哪些影响呢?最大的区别就是 IO 作为双向 IO 使用时,设置为浮空输出, 103 系列必须外面配置上拉电阻,而 030 系列则可以直接配置为上拉开漏输出,把 IO 口作为双向 IO 使用,特别是在模拟 IIC 时序中使用最方便!
————————————————
参考链接:https://blog.csdn.net/L18780079219/article/details/80551336
在配置到MISO的管脚时也会有不同
STM32F103:
/**SPI1 GPIO Configuration
PA5 ------> SPI1_SCK
PA6 ------> SPI1_MISO
PA7 ------> SPI1_MOSI
*/
GPIO_InitStruct.Pin = GPIO_PIN_5|GPIO_PIN_7;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
GPIO_InitStruct.Pin = GPIO_PIN_6;
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
GPIO_InitStruct.Pull = GPIO_NOPULL;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
STM32F030:
/**SPI1 GPIO Configuration
PA5 ------> SPI1_SCK
PA6 ------> SPI1_MISO
PA7 ------> SPI1_MOSI
*/
GPIO_InitStruct.Pin = GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
GPIO_InitStruct.Alternate = GPIO_AF0_SPI1;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
————————————————
参考链接:https://blog.csdn.net/yule/article/details/102755151
具体区别就是: F103的MISO要配置成输入(GPIO_MODE_INPUT), 而F030的要配置成复用(GPIO_MODE_AF_PP)。
ADC的区别:
STM32F1031有选择单通道和双通道,而STM32F030没有。
随笔随记
于即日
版权声明:本文为CSDN博主「bh4xjx」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/bh4xjx/article/details/122651316
暂无评论