dsp281x_spi.c

来自「自己编写的2812SPI程序」· C语言 代码 · 共 48 行

C
48
字号
// TI File $Revision: /main/2 $
// Checkin $Date: April 29, 2005   11:08:24 $
//###########################################################################
//
// FILE:   DSP281x_Spi.c
//
// TITLE:  DSP281x SPI Initialization & Support Functions.
//
//###########################################################################
// $TI Release: DSP281x Header Files V1.11 $
// $Release Date: September 26, 2007 $
//###########################################################################

#include "DSP281x_Device.h"     // DSP281x Headerfile Include File
#include "DSP281x_Examples.h"   // DSP281x Examples Include File

//---------------------------------------------------------------------------
// InitSPI: 
//---------------------------------------------------------------------------
// This function initializes the SPI(s) to a known state.
//
void InitSpi(void)
{
   // Initialize SPI-A:
  SpiaRegs.SPICCR.bit.SPISWRESET = 0;     //SPI改变配置先复位
  SpiaRegs.SPICCR.bit.CLKPOLARITY =1;     //数据在下降沿输出且在上升沿输入
  SpiaRegs.SPICCR.bit.SPICHAR = 0x7;      //16位字符

  SpiaRegs.SPICTL.bit.SPIINTENA = 0;      //禁止中断
  SpiaRegs.SPICTL.bit.TALK = 1;           //使能发送
  SpiaRegs.SPICTL.bit.MASTER_SLAVE = 1;   //主动模式
  SpiaRegs.SPICTL.bit.CLK_PHASE = 0;      //正常的SPI时钟方式
  SpiaRegs.SPICTL.bit.OVERRUNINTENA = 0;  //禁止接收溢出标志位中断

  SpiaRegs.SPIBRR = 124; //BOUD=LSPCLK/(124+1)=37.5M/125=300k

  SpiaRegs.SPICCR.bit.SPISWRESET = 1;      //SPI退出复位



   //tbd...
 
}

//===========================================================================
// No more.
//===========================================================================

⌨️ 快捷键说明

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