⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 11.2.c

📁 数字信号处理器 原理、结构及应用基础-TMS320F28x所附光盘源程序C-C++ 刘和平等编著
💻 C
字号:
/******************************************************************************
**功能描述: SPI程序,对MAX5742的OUTA通道DA0UT1使能并置数输出**
******************************************************************************/
#include "DSP28_Device.h"
//  SPI初始化子程序
void spi_intial()
 {
 	SpiaRegs.SPICCR.all = 0x004F;    //  使SPI处于复位模式, 下降沿,16位数据  
	SpiaRegs.SPICTL.all = 0x0006;    // 主控模式, 一般时钟模式,使能talk, 关闭SPI中断
	SpiaRegs.SPIBRR = 0x007F;                      //  配置波特率
	SpiaRegs.SPICCR.all = SpiaRegs.SPICCR.all|0x0080;  //  退出复位状态	 
	EALLOW;	
    GpioMuxRegs.GPFMUX.all = 0x000F;               //  设置通用引脚为SPI引脚	 	
    EDIS;
  }
//  GPIO初始化子程序
void gpio_init()
{ 
	EALLOW;
	GpioMuxRegs.GPFMUX.bit.XF_GPIOF14 = 0;  //  GPIOF14设置为一般I/O端口
	GpioMuxRegs.GPFDIR.bit.GPIOF14 = 1;	   //  把GPIOF14设置为输出			
    EDIS;
    GpioDataRegs.GPFDAT.bit.GPIOF14 = 1; 	   //  GPIOF14=1;该端口为使能信号
}

void main(void)
{
	unsigned long int i = 0;
	InitSysCtrl();       //  系统初始化子程序,该程序包含在DSP28_SysCtrl.C中
	DINT;            //  关闭总中断
	IER = 0x0000;
	IFR = 0x0000;	
	spi_intial();        //  SPI初始化子程序
	gpio_init();	        //  GPIO初始化子程序
	while (1)
	{	
		GpioDataRegs.GPFDAT.bit.GPIOF14 = 0;
	 	SpiaRegs.SPITXBUF = 0xf000;                //  初始化指令:DAC_A使能
    		while(SpiaRegs.SPISTS.bit.INT_FLAG != 1){}
    		SpiaRegs.SPIRXBUF = SpiaRegs.SPIRXBUF;
    		GpioDataRegs.GPFDAT.bit.GPIOF14 = 1;
    		for(i = 0; i<10; i++){}
    		GpioDataRegs.GPFDAT.bit.GPIOF14 = 0;
	 	SpiaRegs.SPITXBUF = 0x0fff;                //  DAC_A置数
    		while(SpiaRegs.SPISTS.bit.INT_FLAG != 1){}
   	 	SpiaRegs.SPIRXBUF = SpiaRegs.SPIRXBUF;
    		GpioDataRegs.GPFDAT.bit.GPIOF14 = 1; 
    		for(i=0; i<10; i++){}
	}
}

⌨️ 快捷键说明

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