第一范文网 - 专业文章范例文档资料分享平台

使用MCC学习PIC单片机 – MSSP主同步串行端口(SPI主模式)

来源:用户分享 时间:2025/6/7 16:26:53 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

串行外设接口(SPI)总线是以全双工模式工作的同步串行数据通信总线。可以使用MSSP外设实现SPI主、从通信。本帖介绍SPI主模式。MCC界面:

对照数据手册上的SPI信号时序图,理解各个设定的参数对SPI通信的影响。

时钟信号SCK

SPI通信时由SPI主机提供时钟。MCC设置上,先选择时钟源,再填入分频值,MCC就会自动计算出SPI时钟频率,显示在页面上。

根据空闲时时钟的电平和SDO上数据的采样(数据有效)边沿,确定了四种时钟模式:-空闲时为L,下降沿采样/数据有效

-空闲时为H,上升沿采样/数据有效

-空闲时为L,上升沿采样/数据有效

-空闲时为H,下降沿采样/数据有效

要想正常通信,主机和从机的时钟模式需要设置相同。数据信号SDI/SDO

SPI物理上为全双工接口,有单独的输入SDI和输出SDO引脚。信号要交叉相连,即主机的SDI/SDO分别与从机的SDO和SDI相连。这样才能形成数据移位的环路。

SDO时序需要与选定的时钟模式一致,由外设模块自动保证。

主机SDI的采样时刻,可以选择在数据中间采样(与SCK采样边沿相同),可

以选择在数据末端采样。

从机选择信号

对于SPI主机,需要采用IO口来控制从机的选通(输出低有效)。

可以容易实现单主机多从机的通信。多从机的方式,有普通的多从机并联方式,也可以菊花链连接。MCC代码初始化

voidSPI1_Initialize(void);

发送1字节数据,返回值为回读数据。uint8_tSPI1_Exchange8bit(uint8_tdata);发送数据块,返回值为实际发送数据长度

uint8_tSPI1_Exchange8bitBuffer(uint8_t*dataIn,uint8_tbufLen,uint8_t*dataOut);

判断缓冲区中是否接收新数据,尚未读取boolSPI1_IsBufferFull(void);

判断是否有写冲突。在当前字节发送结束前,不能向缓冲寄存器写入新的数据,

否则触发写冲突。

boolSPI1_HasWriteCollisionOccured(void);清冲突标志。

voidSPI1_ClearWriteCollisionStatus(void);

使用MCC学习PIC单片机 – MSSP主同步串行端口(SPI主模式).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c2ew3c6av2c7b3ef97wu606i7k4ff8500zfd_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top