- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
同步串行通信SPI;内容提要;SPI总线介绍;SPI总线可在软件的控制下构成各种简单的或复杂的系统:
1个主MCU和几个从MCU
几个从MCU相互连接构成多主机系统(分布式系统)
1个主MCU和1个或几个从I/O设备 常用;SPI工作模式;SPI电气连接;MSP430G2553引脚图;STE引脚作用;SPI数据传输;SPI传输时序;传输模式;传输模式;传输模式;特点;特点;通用串行通信接口(USCI)模块;MSP430模块特点;主模式;从模式;SPI模式下可用的USCI寄存器;UCB控制寄存器 UCBxCTL1(USCI_Bx control register);0: 前沿采样,后沿输出
1: 前沿输出,后沿采样;波特??控制寄存器 UCBxBR0和UCBxBR1;串口中断允许寄存器 UCBxIE;串口中断标志寄存器 UCBxIFG;串口中断向量值寄存器 UCBxIV;串口中断缓冲器 UCBxRXBUF和UCBxTXBUF;应用示例;程序流程图;主机——端口初始化;主机——SPI模块初始化;主机——其他配置;主机——接收中断;从机——端口初始化;主机——SPI模块初始化;从机——接收中断;从机——主机开始工作提示中断;
/|\| XIN|-
| | |
--|RST XOUT|-
| |
| P1.2|- Data Out (UCA0SIMO)
| |
LED -|P1.0 P1.1|- Data In (UCA0SOMI)
| |
Slave reset -|P1.5 P1.4|- Serial Clock Out (UCA0CLK)
;#include msp430g2553.h
unsigned char MST_Data, SLV_Data;
int main(void)
{
volatile unsigned int i;
WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer
UCA0CTL1 |= UCSWRST;
P1OUT = 0x00; // P1 setup for LED reset output
P1DIR |= BIT0 + BIT5; //
P1SEL = BIT1 + BIT2 + BIT4;
P1SEL2 = BIT1 + BIT2 + BIT4;
UCA0CTL0 |= UCCKPL + UCMSB + UCMST + UCSYNC; // 3-pin, 8-bit SPI master
UCA0CTL1 |= UCSSEL_2; // SMCLK
UCA0BR0 |= 0x02; // /2
UCA0BR1 = 0; //
UCA0MCTL = 0; // No modulation
UCA0CTL1 = ~UCSWRST; // **Initialize USCI state machine**
IE2 |= UCA0RXIE; // Enable USCI0 RX interrupt;P1OUT = ~BIT5; // Now with SPI signals initialized,
P1OUT |= BIT5; // reset slave
__delay_cycl
文档评论(0)