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

📄 spi0.c

📁 DSP56F800e HYBRID Controller
💻 C
字号:
#include "Headers.h"







UInt16 TX_BUFFER[BUFFER_LENGTH];
UWord8 headTx,tailTx;
unsigned int data='A',data1,data2;     //dummy






void initIsrSpi0()
{
	
		asm (bfclr #$0300,SR);		;		//permit toate tipurile de intrerupere
		asm (bfset #$0003,X:IPR5);  //intreruperea de transmisie pt spi0 are prioritatea 2
	    asm(bfclr  #$0020,X:ICTL); 
	
}


#pragma interrupt saveall 
void isrtSpi0TransmitterEmpty()
{
   UInt16 datan;

   enterCritical();


   
   GPIOA_DR |= 0x0004;
   GPIOA_DR ^= 0x0004;   
      
   asm(move.w  #$030F,X:SPI0_SPDTR);  //initiez o noua transmisie
    
   GPIOA_DR &= 0xFFF7;      
   GPIOA_DR ^= 0x0008;

 
      
   exitCritical();                              
}






void Spi0PinInit()

{ 
 
 asm(bfclr #$0010,X:GPIOE_PUR);  //semnalul GPIOE4 in modul master este iesire, clock de iesire 
 asm(bfset #$0010,X:GPIOE_PER);  //GPIOE4 - SCLK0
    
 asm(bfclr #$0020,X:GPIOE_PUR);  //semnalul GPIOE5 in modul master este iesire
 asm(bfset #$0020,X:GPIOE_PER);  //GPIOE5 - MOSI0
   
 asm(bfclr #$0040,X:GPIOE_PUR);  //semnalul GPIOE5  in modul master este intrare
 asm(bfset #$0040,X:GPIOE_PER);  //GPIOE6 - MOSI0  
   
 asm(bfset #$0080,X:GPIOE_PER);  //GPIOE7 - SSn    
   
 asm(bfset #$0004,X:SIM_PCE);         //activez clockul pentru modulul SPI0
          	       //activez clockul pentru modulul SPI0
   
}


⌨️ 快捷键说明

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