完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
STM32F103的同时使用SPI1和USART2发现有冲突,有个AD芯片读取使用SPI1通讯,用USART2与232芯片通讯,但是AD芯片焊接后,232就没法通讯了,去掉AD芯片 后,就没有问题了,查功能的时候发现SPI1_NSS/USART2_CK是同一个管脚,是不是这个原因造成的呢
|
|
相关推荐
7个回答
|
|
只是把AD芯片焊接上且没有在程序中打开SPI1功能,与会导致USART2不能正常工作
|
|
|
|
SPI1_NSS可以在初始化SPI时禁止使能。
|
|
|
|
|
|
|
|
如楼上所示,同步串口通讯会占用SPI管脚,异步串口通讯就不会冲突了。如果还是不行,可以试试不使用硬件片选信号NSS,SPI总线上如果只有一个设备,片选不是必须的。设备端直接拉低即可。
|
|
|
|
STM32F103,你用的RS232,肯定是异步串口,跟SPI1不冲突,串口不需要USART2_CK。如果你在配置时开启了USART2_CK功能,那么禁掉。
|
|
|
|
尝试方向其一:用软件 GPIO 来控制 NSS 信号。一般 SPI 设备不会对 NSS 提太过严苛的时序要求,GPIO 控制的确是比硬件控制慢,而且会限制 DMA 的使用,但至少可以奏效。
尝试方向其二:就地降级 STM32F0 或升级 STM32F3 系列。STM32F1 的 GPIO 没有 AF 选择功能是这个冲突的根本原因。F0、F3 这两个系列的芯片都有 AF 选择功能,且与 STM32F1 管脚兼容,可直接替换。 |
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1365 浏览 0 评论
国产NSI1300D05-DSWVR放大芯片放大增益8.2或41的问题
1358 浏览 0 评论
STM32串口接受中断使用C++STL中的queue导致所有中断失效
8895 浏览 1 评论
3648 浏览 0 评论
STM32配合可编程加密芯片SMEC88ST的防抄板加密方案设计
1580 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-3-6 22:38 , Processed in 0.510839 second(s), Total 54, Slave 48 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191