[PIC®/AVR®/dsPIC®产品] ATmega16单片机硬件SPI多字节连续发送

[复制链接]
1932|13
 楼主| 还没过四级 发表于 2025-2-18 22:42 | 显示全部楼层 |阅读模式
用ATmega16单片机的硬件SPI发送5个字节,这个时钟的时序是不是有点不对啊,有大哥给解答一下呗

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
weifeng90 发表于 2025-2-18 22:56 来自手机 | 显示全部楼层
MOSI数据信号波形感觉不对
 楼主| 还没过四级 发表于 2025-2-19 09:52 来自手机 | 显示全部楼层
weifeng90 发表于 2025-2-18 22:56
MOSI数据信号波形感觉不对

我知道啊因为发送的时钟有问题,本来应该是连续的40个时钟脉冲,结果变成了五组单独的8个脉冲,MOSI肯定有问题啊,但是就是找不到发送间隔出现的原因
xch 发表于 2025-2-20 19:06 | 显示全部楼层
还没过四级 发表于 2025-2-19 09:52
我知道啊因为发送的时钟有问题,本来应该是连续的40个时钟脉冲,结果变成了五组单独的8个脉冲,MOSI肯定 ...

"本来"应该是连续的40个时钟脉冲

这个本来不成立
幸福小强 发表于 2025-2-21 12:20 | 显示全部楼层
这个可以用MCC配置吗,用MCC配置的就没问题啊。你试试
慢醇 发表于 2025-2-23 00:03 | 显示全部楼层
如果 CPHA 设置为 0,但设备期望在时钟的下降沿采样数据,就会出现时序问题。
远芳侵古道 发表于 2025-2-23 07:11 | 显示全部楼层
SPI 有四种模式Mode 0-3,由 CPOL 和 CPHA 决定。

如果发送端和接收端的模式不匹配,会导致时序错误。

突然下起雨 发表于 2025-2-25 15:29 | 显示全部楼层
CPHA 决定了数据在时钟的哪个边沿进行采样。
chenqianqian 发表于 2025-2-25 20:50 来自手机 | 显示全部楼层
从这个波形看数据线信号确实不正常
拿走一光年 发表于 2025-7-24 20:20 | 显示全部楼层
[color=rgba(0, 0, 0, 0.85)]可能因未正确处理 SPI 传输完成中断,导致多字节发送时数据缓冲区未及时更新引发错误。
绒兔星球 发表于 2025-8-27 13:01 | 显示全部楼层
ATmega16 硬件 SPI 多字节连续发送:先初始化 SPI 为主机模式,使能 SPI;循环发送每个字节时,将数据写入 SPDR 寄存器,等待 SPIF 标志置位(表示发送完成),再发送下一字节,无需手动控制 SCK 线,硬件自动时序。
野玫瑰 发表于 2025-9-16 16:14 | 显示全部楼层
ATmega16 硬件 SPI 多字节连续发送:先初始化 SPI(主机模式,设置波特率、数据序)。发送时,循环中先将数据写入 SPDR 寄存器,等待 SPIF 标志置位(表示发送完成),再发送下一字节。无需软件延时,利用硬件标志确保连续传输,效率高于模拟 SPI,适合高速数据传输场景。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

20

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部