main.c

来自「SPI接口在MSP430f169处理器上面的调试程序」· C语言 代码 · 共 48 行

C
48
字号
#include <MSP430x16x.h>
unsigned char Data[1]={0xa5};
void Init_SPI();
void Send_SPI(unsigned char *pBuffer,unsigned char n_byte);
int main(void)
{
  WDTCTL=WDTPW+WDTHOLD;
  Init_SPI();
  TXBUF0=0;
  while(1)
  {
    Send_SPI(Data,1);
  }
  
}

//SPI初始化
void Init_SPI()
{
  UCTL0=0x00;  //将寄存器的内容清零
  UTCTL0=0x00;
  UCTL0 &=~SWRST;  //UASRT模块允许
  UCTL0=CHAR+SYNC+MM; //发送数据为8位,SPI模式,多机模式选择地址位多机协议
  UTCTL0=STC+CKPH+SSEL0;  
 
  UBR00=0x03;  //设置波特率为9600bit/s
  UBR10=0x00;
  UMCTL0=0x4a;
 
  ME1 |=USPIE0;   //SPI模块允许
  
  P3SEL |=0x0f;  //设置P3.0~P3.3,P5.0-P5.3为SPI端口
  P3DIR |=0x0a;  //P3.1、P5.1(SIMO),P3.3、P5.3(UCLK)
 }
/****************************
发送数据指令
*****************************/
void Send_SPI(unsigned char *pBuffer,unsigned char n_byte)
{
  unsigned char q;
  for(q=0;q<n_byte;q++)
  {
    while((IFG1&UTXIFG0)==0);  //判断是否发送完毕
    TXBUF0=*pBuffer;
    pBuffer++;
  }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?