📄 spi从.c
字号:
#include<msp430x14x.h>
//从机程序
//当主机发送伪数据请示时(即发送接收中断)从机发送字符串”MSP430"
//波特率由主机UCLK决定,为时钟频率的1/2
void Init();
char Data[20]="0xmsp430";
unsigned char i=0,j;
void main()
{
WDTCTL=WDTPW+WDTHOLD;//关闭看门狗
Init();//UART初始化
_EINT();//通用中断允许
while(1);//主循环
}
void Init()
{
UCTL0&=~SWRST;//SWRST复位,USART允许
UCTL0=CHAR+SYNC;//spi从模式,8位数据
UTCTL0=STC+CKPH;//先定UCLK(32KHZ晶振)为时钟源,3线SPI
ME1=USPIE0;//SPI0模块允许
P3SEL=0x0F;//P3.0~P3.3被模块占用
P3DIR=0x04;//P3.2(SOMI) 设为输出模式
IE1|=URXIE0;//接收中断允许
}
#pragma vector = UART1RX_VECTOR
__interrupt void UART1RX()//UART1中断函数
{
j=RXBUF0;
if(i==6) TXBUF0=0xAA;//发送字符串前导字符0XAA
else TXBUF0=Data[i];//发送字符串
i++;
if(i>6) i=0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -