完善资料让更多小伙伴认识你,还能领取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 管脚兼容,可直接替换。 |
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
2201 浏览 1 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
2027 浏览 3 评论
4633 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
2171 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
2705 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-25 22:15 , Processed in 0.717471 second(s), Total 87, Slave 70 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号