当前位置:首页 > 业务领域 > 污泥处理 >

SPI续篇:注意事项与实现

编辑:365备用网址app 来源:365备用网址app 创发布时间:2020-10-25阅读92880次
  

365备用网址

SPI总线有四种工作方式(SPI0、SPI1、SPI2和SPI3),特别是用于SPI0和SPI3方法。时钟极性CPOL用于在装有SCLK的扁平状态为空闲或有效时,时钟振幅CPHA具备数据采样功能。

CPOL=0,响应SCLK=0时处于空闲状态,因此,当SCLK处于高电平时,有效状态为CPOL=1,响应SCLK。因此,有效状态是SCLK处于低电平时CPHA=0,响应数据采样在第一个边缘,数据发送到第二个边缘CPHA=1,响应数据采样在第一个边缘,数据发送到上图,CPOL=0,SPI四种模式的时间系列图。CPOL=0,CPHA=1:在这种情况下,空闲时SCLK处于低水平,数据传输到第一个边缘。也就是说,SCLK从低平跳到高平,因此数据采样处于上升边,数据传输到下降边。

CPOL=1,CPHA=0:此时空闲时,SCLK在高平,数据收集在第一个边缘。也就是说,SCLK从高评价跳到低评价,因此数据收集处于上升边缘,数据传输处于下降。CPOL=1,CPHA=1:此时空闲时,SCLK处于高电平,数据发送到第一个边缘。

也就是说,SCLK从高评价跳到低评价,因此数据收集下降,数据传输到上升边。请一口气再解释一下SPI。

首先确认单片机A(主MCU 1)大部分是模式,单片机B(SlaveMCU1)是从模式。还分别配备了SLCK、MOSI、MISO和SCK的io插槽。您自由选择了配置文件的SPI0模式。结构图如下。

365备用网址

根据图片连接后,“试音”阶段开始了。从单片机A发送到1-10的数字将发送到单片机B。接收到单片机B后,将流量灯用于此。

将数据发送到程序(仅发送主机)# defineucharunsignedchar # defineuintunsignedint # defineulongunsignedlong///时钟信号sbitmosi//主设备数据输入,设备数据中sbitMISO=P1 2;导出//主设备数据输出,在设备数据中输入SBIT SS=P1 3//从设备发送信号voiddat _ transmit (uchardat)//数据程序{{uchari,datbuf;//主机数据存储寄存器dat buf=datSS=1;while(ss){;} for(I=0;I <8;I)/{ while(s piclk){;} IF(Dat Buf &0x 80)MISO=1;ELSEMISO=0;datbuf=(datbuf <<1);while(~ s piclk){;} } } void main(void){ uchari;while(1){ for(I=0);I <10I){ dat _ transmit(I);}}} :数据接管程序(仅由机器接管)# defineucharunsignedchar # defineuintunsignedint # defineulongunsignedlong//-///主设备数据输入,设备数据中sbitMISO=P1 2;输出//主设备数据,在设备数据中输入SBIT SS=P1 3//来自元件的能量信号//-VOID NOP(VOID){;} voiddelay(uchart){ while(t-){;}} uchardata _ receive (void)//数据接管程序{{uchari,dat=0,temp;Bitbt;SPICLK=1;微笑=1;SS=0;//排名设备NOP();NOP();FOR(I=0;I <8;I){ spiclk=1;NOP();NOP();NOP();SPICLK=0;NOP();NOP();Bt=微笑;IF(BT)TEMP=0x 01;Elsetemp=0x00;DAT=(DAT <<1);DAT=(DAT | TEMP);} SS=1;SPICLK=1;Returndat;} void main(void){ ucharexdat;UCHARI=0;Ucharcodetable [10]={0x3f、0x06、0x5B、0x4F、0x66、0x6D、0x7D、0x07、0x7F、0 x 6 f };P2=0;while(1){ exdat=data _ receive();P0=表格[exdat];FOR(I=0;I <200I ) delay (200) : }} SPI总线注意事项:1、当Master安装SPI模块时钟时,由于Master的时钟极性和振幅都是基于slave的,因此需要考虑拒绝设备的操作员计时。因此,在时钟极性设备上,需要确认Slave是否根据SCK的上升或下降输入数据,以及是否根据SCK的下降或上升接收数据。

365备用网址官方网站

2、从属时钟频率大于主时钟频率时,如果主时钟的SCK速度太快,则由从属时钟接管的数据不正确,SPI模块没有确认从属时钟是否接管数据的接收者机制,从而导致通信传输数据错误。3、SPI总线系统是实时串行外围模块,允许MCU与多种外围设备串行通信,相互交换信息。

除MCU外,还有闪存、网络控制器、LCD显示驱动器和A/D转换器等周边设置。4、上述代码中使用的命令由STC89C51微控制器(STC 89C51微控制器)仅使用其他芯片请求自行更改。

365备用网址

以上所有信息只作为自学交流使用,不作为自学和商务标准使用。 如果你对文章中的某些信息有异议,我更愿意随时明确提出。

谢谢大家!关于云的软Wingwing软新闻是国内最没有特色的电子工程师社区,融合行业信息、社区对话、教育自学、活动交流、设计和生产承包等服务,以开放硬件创意技术交流和教育服务为核心,连接多达30万名工程师和产业链上下游企业,探索电子行业的技术创新,整合团体最引人注目的产业链资源。|365备用网址。

本文来源:365备用网址app-www.s2wings.com

094-77645889

联系我们

Copyright © 2010-2014 黔南布依族苗族自治州365备用网址科技有限公司 版权所有  贵ICP备52443251号-3