查看: 2080|回复: 0

【ATMEGA328P-XMINI】SPI的使用

[复制链接]
  • TA的每日心情
    开心
    2017-7-4 13:51
  • 签到天数: 347 天

    连续签到: 1 天

    [LV.8]以坛为家I

    发表于 2015-2-11 08:54:57 | 显示全部楼层 |阅读模式
    分享到:
    ATMEGA328P只有一组SPI。
    首先来看下SPI的特性

    SPI允许高速同步数据传输在ATMEGA328P和外围设备之间,或者在几个AVR设备之间。
    有意思的是,ATMEGA328P的USART也能被用于主SPI模式。

    这是SPI的框图。
    主从CPU之间用SPI互联。系统由两个移位寄存器和一个主时钟组成。
    SPI主机启动通信周期当从设备片选SS为低时。主机和从机准备数据移入各自的移位寄存器,主机生成所需的时钟脉冲在sck线上从而来交换数据。在主机输出端,数据传输总是从主机到设备。在从机输出端则相反。
    在每个数据包后,主机将同步从机通过从机SS为高。
    当配置作为主机,SPI接口不能自动控制SS线。这必须在通信开始前通过使用软件处理。当这做完,写一个字节到SPI数据寄存器开始SPI时钟生成。赢家转移8 bits到从机。在转移一个字节后,SPI时钟停止。设置传输标志(SPIF)的结束。如果SPI中断使能位(SPIE),在SPCR寄存器被设置,一个中断被请求。从机可能继续传下一字节的数据,通过写它到SPDR,或标志数据包的结束通过拉高从机片选SS线。最后输入字节将保存在缓冲寄存器供以后使用。
    当配置作为从机,基本相反。
    PS:参考datasheet翻译理解,主要觉得这个spi的原理过程很重要,只有理解了,才好开始写spi通信部分的程序。
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-4-27 09:07 , Processed in 0.117356 second(s), 16 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.