📄 dsp28_spi.c
字号:
//
// TMDX ALPHA RELEASE
// Intended for product evaluation purposes
//
//###########################################################################
//
// FILE: DSP28_Spi.c
//
// TITLE: DSP28 SPI Initialization & Support Functions.
//
//###########################################################################
//
// Ver | dd mmm yyyy | Who | Description of changes
// =====|=============|======|===============================================
// 0.55| 06 May 2002 | L.H. | EzDSP Alpha Release
// 0.56| 20 May 2002 | L.H. | No change
// 0.57| 27 May 2002 | L.H. | No change
//###########################################################################
#include "DSP28_Device.h"
//---------------------------------------------------------------------------
// InitSPI:
//---------------------------------------------------------------------------
// This function initializes the SPI(s) to a known state.
//
void InitSpi(void)
{
// 配置SPI配置寄存器
SpiaRegs.SPICCR.bit.RESET=0; // SPI模块复位
SpiaRegs.SPICCR.bit.CLKPOLARITY=1; // 时钟下降沿发送数据
SpiaRegs.SPICCR.bit.SPILBK=0; // 禁止自测试模式
SpiaRegs.SPICCR.bit.SPICHAR=0xF; // 16位数据传输
// 配置控制寄存器
SpiaRegs.SPICTL.bit.CLK_PHASE=1; // 时钟信号延时半个周期
SpiaRegs.SPICTL.bit.MASTER_SLAVE=1; // SPI主设备
SpiaRegs.SPICTL.bit.TALK=1; // 发送使能
SpiaRegs.SPICTL.bit.SPIINTENA=0; // 禁止SPI中断
SpiaRegs.SPICTL.bit.OVERRUN=0; // 禁止接收溢出中断
// 配置波特率寄存器
SpiaRegs.SPIBRR=124; // SPI波特率为LSPCLK/(SPIBRR+1)
SpiaRegs.SPICCR.bit.RESET=1; // 释放复位状态,进入正常操作模式
}
//===========================================================================
// No more.
//===========================================================================
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -