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

📄 main.c

📁 英飞凌公司的单片机的测试计量程序
💻 C
字号:
/* ****************************************************************************************************/
/*                             Demonstration Program for SP35 D1		                              */
/*   -----------------------------------------------------------------------------------------------  */
/*                                                                                                    */   
/*   Purpose: 	 Customer evaluation                                                                  */
/*				                                                                                      */
/*   Filename:   main.c                                                                               */
/*                                                                                                    */
/*   Target:     SP35                                                                                 */
/*                                                                                                    */
/*   Dev. Envir: Keil Software C51 V7.10                                                              */
/*               礦ision2 V2.40                                                                       */
/*   Author:     SH		                                                 	   		                  */
/*                                                                     	                              */
/*   History:    16.March 2006: First Release														  */
/*				 22.Dec 2006: Update for D1				                                              */
/*                                                                                                    */
/*   Status:     Release V1.1                                                                         */
/* ************************************************************************************************** */
/*  (C)opyright Infineon Technologies AG. All rights reserved.                                        */
/* ****************************************************************************************************/
/**********************************************************************************
 Includes 
***********************************************************************************/
#include <stdio.h>
#include <ctype.h>
#include "Reg_SP35.h"
#include "SP35_ROMLibrary.h"
#include "SP35_DevLib.h"


/**********************************************************************************
 Defines
***********************************************************************************/
typedef idata struct ID_Struct
{
	unsigned long ID;
	unsigned char ProdCode;
} ID_Struct;

/**********************************************************************************
 Function Prototypes
***********************************************************************************/
void Eval_Statusbyte(status);

/**********************************************************************************
 Global Variables
***********************************************************************************/
unsigned char ID[4];

/**********************************************************************************
 functions
***********************************************************************************/

/**********************************************************************************
 Main Routine, executed @ every Wakeup or System- Reset
**********************************************************************************/
void main (void)
{
	signed int idata measure[3];	
	idata ID_Struct SensorID;
	unsigned char status;

	RS232_Init(PP2,PP1);										// Initialize Software UART

	// Read Sensor ID
	Read_ID(&SensorID);
	printf("\r\nSensor ID:       %lu",SensorID.ID);

	// Read Pressure
	status = Meas_Pressure(3,0,measure);		    			// Perform 8 measurements	
	printf("\r\nPressure:       %4d [kPa]",(measure[0]/16));
	Eval_Statusbyte(status);
	
	// Read Acceleration
	status = Meas_Acceleration(3,0,measure);	 				// Perform 8 measurements
 	printf("\r\nAcceleration:   %4d [g  ]",(measure[0])/16);
	Eval_Statusbyte(status);

	// Read Temperature
	status = Meas_Temperature(measure);
	printf("\r\nTemperature:    %4d [癈 ]",(measure[0]/128));
	Eval_Statusbyte(status);

	// Read Supply Voltage
	status = Meas_Supply_Voltage(measure);
	printf("\r\nSupply Voltage: %4d [mV ]",(measure[0]/8));
	Eval_Statusbyte(status);
	printf("\r\n");

	// Configure Interval Timer
	IntervalTimerCalibration(2);			// Configure for 500ms Interval Precounter
	ITPR = 0x01;							// Confiure for Postcounter to 1

	RS232_UnInit(PP2,PP1);					// UnInitialize Software UART	

	Powerdown();							// Enter Power Down

}

/**********************************************************************************
 Evaluate Measurement Statusbyte
**********************************************************************************/
void Eval_Statusbyte(status)
{
	switch(status)
	{
		case 0:		printf(" OK!");
					break;
		case 1:		printf(" ADC Underflow!");
					break;
		case 2:		printf(" ADC Overflow!");
					break;
		case 4:		printf(" Bond Wire Check failed!");
					break;
		case 8:		printf(" Beam Integrity Check failed!");
					break;
		case 16:	printf(" VMIN Check failed!");
					break;
		default:	printf(" Unknown or multiple Checks failed!");
					break;
	}
}


	
				

⌨️ 快捷键说明

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