当前位置: 首页> 教育> 大学 > 甘肃兰州疫情最新数据消息_网站客服系统在线_免费引流推广_百度网址安全中心

甘肃兰州疫情最新数据消息_网站客服系统在线_免费引流推广_百度网址安全中心

时间:2025/7/9 16:48:32来源:https://blog.csdn.net/qq_21794157/article/details/143235344 浏览次数:0次
甘肃兰州疫情最新数据消息_网站客服系统在线_免费引流推广_百度网址安全中心

STM32F103和STM32F030的SPI其MISO配置不同之处

在调试STM32F103和STM32F030的SPI时,发现原来的MISO配置不同

STM32F103:  /**SPI1 GPIO Configuration   PA5     ------> SPI1_SCKPA6     ------> SPI1_MISOPA7     ------> 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_SCKPA6     ------> SPI1_MISOPA7     ------> 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);

其中区别在于, F103的MISO要配置成输入(GPIO_MODE_INPUT), 而F030的要配置成复用(GPIO_MODE_AF_PP),的确非常奇怪。后来查询RM得知:

F103的配置是:

CNFy[1:0]: Port x configuration bits (y= 0 … 7)
These bits are written by software to configure the corresponding I/O port.
Refer to Table 20: Port bit configuration table.
In input mode (MODE[1:0]=00):
00: Analog mode
01: Floating input (reset state)
10: Input with pull-up / pull-down
11: Reserved
In output mode (MODE[1:0] > 00):
00: General purpose output push-pull
01: General purpose output Open-drain
10: Alternate function output Push-pull
11: Alternate function output Open-drain
Bits 29:28, 25:24,
21:20, 17:16, 13:12,
9:8, 5:4, 1:0
MODEy[1:0]: Port x mode bits (y= 0 … 7)
These bits are written by software to configure the corresponding I/O port.
Refer to Table 20: Port bit configuration table.
00: Input mode (reset state)
01: Output mode, max speed 10 MHz.
10: Output mode, max speed 2 MHz.
11: Output mode, max speed 50 MHz.

F030的定义是

Bits 2y+1:2y MODERy[1:0]: Port x configuration bits (y = 0…15)
These bits are written by software to configure the I/O mode.
00: Input mode (reset state)
01: General purpose output mode
10: Alternate function mode
11: Analog mode

可以查看,两个片子的识别定义不同所以,配置当然也不同了。
再查询手册的UART RX定义,也有同样的不同。

再用兆易GD32F103替代STM32F103时,发现GD的定义与STM相同,但是MISO必须改为GPIO_MODE_AF_PP才能正常接收,否则 SPI 可以发送,接收错误。 这里表示是 GD 的缺陷,待确认。
参考原文:《[问答] STM32F103和STM32F030的SPI其MISO配置有何不同》

关键字:甘肃兰州疫情最新数据消息_网站客服系统在线_免费引流推广_百度网址安全中心

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: