你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F103的SPI1和USART2有冲突

[复制链接]
hai325-289934 提问时间:2018-4-14 11:08 /
STM32F103的同时使用SPI1和USART2发现有冲突,有个AD芯片读取使用SPI1通讯,用USART2与232芯片通讯,但是AD芯片焊接后,232就没法通讯了,去掉AD芯片 后,就没有问题了,查功能的时候发现SPI1_NSS/USART2_CK是同一个管脚,是不是这个原因造成的呢
收藏 评论7 发布时间:2018-4-14 11:08

举报

7个回答
hai325-289934 回答时间:2018-4-14 11:24:00
只是把AD芯片焊接上且没有在程序中打开SPI1功能,与会导致USART2不能正常工作
wenyangzeng 回答时间:2018-4-14 11:24:21
SPI1_NSS可以在初始化SPI时禁止使能。

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

左岸右岸 回答时间:2018-4-14 11:57:16
如果串口配置为异步通信模式,并不会和SPI1的NSS引脚发生冲突
CubeMX截图.png

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

Angel_YY 回答时间:2018-4-14 16:22:23
如楼上所示,同步串口通讯会占用SPI管脚,异步串口通讯就不会冲突了。如果还是不行,可以试试不使用硬件片选信号NSS,SPI总线上如果只有一个设备,片选不是必须的。设备端直接拉低即可。

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

toofree 回答时间:2018-4-14 22:52:20
STM32F103,你用的RS232,肯定是异步串口,跟SPI1不冲突,串口不需要USART2_CK。如果你在配置时开启了USART2_CK功能,那么禁掉。

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

maxtch 回答时间:2018-4-15 01:28:50
尝试方向其一:用软件 GPIO 来控制 NSS 信号。一般 SPI 设备不会对 NSS 提太过严苛的时序要求,GPIO 控制的确是比硬件控制慢,而且会限制 DMA 的使用,但至少可以奏效。
尝试方向其二:就地降级 STM32F0 或升级 STM32F3 系列。STM32F1 的 GPIO 没有 AF 选择功能是这个冲突的根本原因。F0、F3 这两个系列的芯片都有 AF 选择功能,且与 STM32F1 管脚兼容,可直接替换。

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

feixiang20 回答时间:2018-4-15 05:21:13
初始化中修改配置,单独搞通1,再单独搞通2

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版