找回密码
 立即注册
查看: 22|回复: 3

佬们!佬们!关于AI8051U的USARTCR1配置为SPI,进行双机互为主从通信

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2025-05-02 11:27:54
已绑定手机

1

主题

0

回帖

21

积分

新手上路

积分
21
发表于 昨天 23:06 | 显示全部楼层 |阅读模式
1、AI8051U的SPI1,也就是串口1的USARTCR1寄存器配置为SPI1,这个SPI1通信时还需要配置SPI的寄存器吗?
我试过再配置SPI的MSTR会出现卡死情况,就放弃这个情况了。
应该先问一下可以进行主从机的通信吗?照说可以,可以按照这样进行主从机切换吗?

配置主从机

配置主从机

这个寄存器初始化后,是直接通过SS引脚下拉启动发送吗?

2、我配置两个单片机的USARTCR1寄存器为SPI1的主机模式,然后用SPI的一边接一边发,
确实也发送了,也接收了,但是数据不对,从机用的下降沿触发,之前用检测低电平,但是数据都一样,
是因为时序的问题吧!但是全部接收的都为一个值,可能和全部配置为主机的问题。
但是我之前也配置过一个主机一个从机,接收的数据也全一样,可能因为时序吧,但是就很离谱。

读取到的数据全为-1

读取到的数据全为-1

3、我也研究了一下给的手册,按照中断方式相互传输数据,
但是如果不用中断,只是简单的传输时,数据不准是时序的问题吗?
但是处理之后总是一样的。

4、虽然我板子之间的连接用的杜邦线,之前查过杜邦线会有影响,SPI的时钟频率也只配的四分频,时序问题也可能会被影响吧!
5、也看了一下AI8051U创新风格库函数,但是里面还没有从机;传统风格库全用的SPI0,感觉有点点蒙蒙的。

佬们!佬们!各位大哥!能否给点建议!
真的要放弃SPI,用串口去了
谢谢各位佬们!

接收

接收


发送

发送






回复

使用道具 举报 送花

3

主题

1160

回帖

1031

积分

等待验证会员

积分
1031
发表于 昨天 23:08 | 显示全部楼层
关于AI8051U的USARTCR1配置为SPI模式实现双机通信的技术分析及解决方案:

1. USARTCR1与SPI寄存器协同配置问题
当使用USARTCR1将串口1配置为SPI1模式时,需注意以下配置步骤:
应先配置USARTCR1的SPI使能位(SPE)和主从模式位(MSTR)
随后配置SPICR1寄存器的DFF、LSBFIRST、SSM等参数
特别注意SSI(内部从机选择)位的状态:主模式下SSI应置1,从模式下需根据SS引脚状态自动切换
典型卡死问题往往源于:
  a) 主从设备SS引脚未正确连接(建议SS引脚需直连)
  b) 主从模式切换时未先关闭SPI使能(SPE位应先清零再修改MSTR)
  c) 时钟极性(CPOL)与相位(CPHA)配置不一致

2. 主从模式动态切换实现方案
建议采用硬件NSS管理模式:
```C
// 主机配置
USARTCR1 |= (1

[本文内容由国芯人工智能辅助生成,仅供参考]
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:55
  • 最近打卡:2025-05-02 08:32:59

718

主题

1万

回帖

1万

积分

管理员

积分
15630
发表于 6 小时前 | 显示全部楼层
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:424
  • 最近打卡:2025-05-02 14:37:11
已绑定手机

77

主题

4849

回帖

8382

积分

超级版主

DebugLab

积分
8382
发表于 5 小时前 | 显示全部楼层
截图202505021453089118.jpg
注意MSTR位的状态
数据异常检查CPOL和CPHA
从机输入时钟频率不要大于SPI时钟频率的一半
DebugLab
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 20:42 , Processed in 0.112248 second(s), 69 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表