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

📄 appli.c

📁 ST7540 Demo 下位机C程序
💻 C
字号:
/**************** (c) 2000  STMicroelectronics **********************

PROJECT : USB - ST7 FULL SPEED

VERSION :  v 0.96

CREATION DATE :  01/12/2000

AUTHOR : MICROCONTROLLER DIVISION / ST Rousset

-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-

MODIFICATIONS : 

******************************************************************************/
#include "Condcomp.h"
#include "usb.h"
#include "generic.h"
#include "global.h"


#pragma DATA_SEG SHORT APPLI_RAM0	// Frequently used variable
unsigned char PCDR_CC;
unsigned char PDDR_CC;
//unsigned char PEDR_CC;



#pragma DATA_SEG SEC0_SHARED_RAM
unsigned char Max_Idn;

#ifdef QUANTA_DFU_RBC

//  unsigned char start_mode;
#endif

#pragma DATA_SEG DEFAULT_RAM	// After here, all variable will be in non-Zero page

unsigned char IDN_Config;

char USER_DATA_Received[8];
char USER_LENGTH_Receive[1]; 




#pragma CODE_SEG APPLI_CODE

/*-----------------------------------------------------------------------------
ROUTINE NAME : Init_port
INPUT/OUTPUT : None
DESCRIPTION  : Init the port 
-----------------------------------------------------------------------------*/
void Init_port(void)
{
//------------------ I/O ports initialization ----------
//// Ports Initilization are specific to the Application 
}

void App_init(void)
{
	Max_Idn = MAX_IDN;    // sequence reversed.

  asm sim;
  ITSPR0 = 0x4D;    //SPI interrupt set to Level 2		,USB plug/unplug to level 2
  ITSPR1 = 0x55;		// USB two interrupts (ESUSP and USB peripheral int) set to level 1 
  ITSPR2 = 0x55;    //Timer interrupt set to Level 1
	MISCR1 |= 0x01; // 8 MHz internal clock
	
	IOsInit();
	TIMER_Init();
	TIMEOUT_Init();
	SPI_Init();
  PING_Init();
	Repeated_Mode=REPEAT_MODE_OFF;
	asm rim;	
	
  
  // Timeout Initialization	
	tim4ms   = TIMEOUT_Open(4);		//rs-232 timer
	tim5ms   = TIMEOUT_Open(5);		//watchDog timer
	tim200ms = TIMEOUT_Open(200); //Tx repeat mode timer
	timWait = TIMEOUT_Open(300);  //ping master wait time
	timIntA  = TIMEOUT_Open(10);  //ping CDMA wait time

}

void USER_Application(void)
{
	WatchDogRefresh();  	// WATCHDOG RESET
	LedsUpdate();					// updating of OUTPUT LEDs  
	RepMode_Analyze();		// tx repeated manager
  PING_Analyze();				// ping manager
}

void App_USB_Suspend(void)
{
	
}

void App_USB_ESuspend(void)
{
	//if (vUSB_Configuration) 	// Device is configured
	/*	
	
//	PEDDR &= ~0x01;		
//	PEDDR &= ~0x02;		
//	PEDDR &= ~0x04;		
	PEDR_CC = 0;

	PEDR_CC |= 0x08;		
	PEDR_CC |= 0x10;		
	PEDR = PEDR_CC;

	PCDR_CC |= 0x80;	
	PCDR = PCDR_CC;

	PDDR_CC |= 0xFF;		
	PDDR = PDDR_CC; */

}


void Init_Short_RAM_f0_ff(void)
{ 

	asm {
		ld		X, #$0f0
loop_clr_ram:
		clr		(X)
		inc		X
		jrne	loop_clr_ram
	}

/*
 unsigned char i;
 unsigned char* trgt_ram;

 trgt_ram = (unsigned char*)0x00ff;
// Clear  16 bytes from ff onwards,  
 for ( i=16 ; i != 0 ; i-- )
 {
   *trgt_ram = 0;   
   trgt_ram--;   
 }                                   
*/
}

//////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
// This is the main for application
void App_main()
{

	//MAL_Init();                                                       
  Init_Short_RAM_f0_ff();         // important as shared for flash programming
  App_init();
  
	while(1)						// application main loop
	{   
  #ifdef	USB_POLLING_MODEL
		USB_Polling();
  #endif
  
	if (vUSB_Configuration) 
	  {
		  VSP_Action();
      USER_Application();
    }    
	}
	
	
}

/**************** (c) 2000  STMicroelectronics **********************/

⌨️ 快捷键说明

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