📄 main.c
字号:
#include <hidef.h> //common defines and macros
#include <mc9s12dj256.h> /* derivative information */
#include "my_vectors.h"
#include "main_asm.h" //interface to my assembly module
#define commondefine
#include "commondefine.h"
#undef commondefine
extern char INTER_Table_CHAR1(struct GROUP_INTER_CHAR1* array, unsigned int un16Coord_VALUE);
//Interrupt section for this module. Placement will be in NON_BANKED area.
#pragma CODE_SEG __NEAR_SEG NON_BANKED
interrupt void RTI_ISR(void)
{ //simple RTI interrupt service routine
//clear RTIF bit
// CRGFLG = 0x80;
}
#pragma CODE_SEG DEFAULT
/*****************************************************************************
Function Name : SCI1Init
Engineer :
Date : 03/01/2005
Arguments : none
Return : none
Notes : This function initialize SCI 0.
******************************************************************************/
void SCI0Init(void)
{
SCI0BDL=(unsigned char)((40000000UL /* OSC freq */ / 2) / 9600 /* baud rate */ / 16 /*factor*/);
SCI0CR2=0x2c;//Transmit Enable & Receive Enable & Receive Interrupts Enable
}
/*
*********************************************************************************************************
*
* Description : Sent single char
* Arguments : Do not use in this code
*********************************************************************************************************
*/
void SCI0Send(unsigned char L_byte)
{
while(!SCI0SR1_TDRE){} //Poll the TDRE flag by reading the SCI0SR1 until the TDRE flag is set
SCI0DRL=L_byte; //If the TDRE flag is set, write the data to be transmitted to SCI0DRL
}
/*
*********************************************************************************************************
* DisplayNO 2006.06.07
*
* Description : To display the number
* Arguments : The max number that can display is 99999 .
* By : Terry
*********************************************************************************************************
*/
void DisplayNO(int Number){
int i=10000; //作为除数提取各位的字符
int nTemp=0; //1时表示高位已有非0结果,地位即使是0也可以输出了
int nResult; //用来暂存各位的数据
while(i>0) {
nResult=Number/i; //通过除法从高位到低位依次单位提取字符
Number= Number%i; //余数作为下一次除法的被除数
i=i/10; // 除数依次是上次的10分之一
if((nResult!=0)||(nTemp==1)) {
nTemp=1;
nResult+= 48; //将结果转为ASCII
SCI0Send((unsigned char)nResult); //输出该位
}
}
}
void RTIInit(void) //RTI initialization
{
//setup of the RTI interrupt frequency
//adjusted to get 1 millisecond (1.024 ms) with 16 MHz oscillator
// RTICTL = 0x1F;//set RTI prescaler
// CRGINT = 0x80;//enable RTI interrupts
}
void main(void)
{
interp_UINT2(); //16bit无符号整型数的二维插值参数初始换
interp_UCHAR_2();//8bit无符号整型数的二维插值参数初始换
interp_UINT1(); //16bit无符号整型数的一维插值参数初始换
interp_UCHAR1(); //8bit无符号整型数的一维插值参数初始换
interp_INT2(); //16bit整型数的二维插值参数初始换
interp_CHAR_2(); //8bit整型数的二维插值参数初始换
interp_INT1(); //16bit整型数的一维插值参数初始换
interp_CHAR1(); //8bit整型数的一维插值参数初始换
SCI0Init();
//16bit无符号整型数的二维插值
// G_un16result_UINT2=(unsigned int)(INTER_Table_UINT2(&C_inter_UINT2,700,300));
//8bit无符号整型数的二维插值
// G_un8result_2_UCHAR_2=(unsigned char)(INTER_Table_UCHAR_2(&C_inter_UCHAR_2,50,30));
//16bit无符号整型数的一维插值
// G_un16result_UINT1=(unsigned int)(INTER_Table_UINT1(&C_inter_UINT1,688));
//8bit无符号整型数的一维插值
// G_un8result_UCHAR1=(unsigned char)(INTER_Table_UCHAR1(&C_inter_UCHAR1,-55));
//16bit整型数的二维插值
// G_un16result_INT2=( int)(INTER_Table_INT2(&C_inter_INT2,700,300));
//8bit整型数的二维插值
// G_un8result_2_CHAR_2=( char)(INTER_Table_CHAR_2(&C_inter_CHAR_2,50,30));
//16bit整型数的一维插值
// G_un16result_INT1=( int)(INTER_Table_INT1(&C_inter_INT1,688));
//8bit整型数的一维插值
// G_un8result_CHAR1=INTER_Table_CHAR1(&C_inter_CHAR1,300);
G_un16result_INT1=( int)(INTER_Table_INT1(&C_inter_INT1,15));
INTER_Table_UCHAR1(&C_inter_UCHAR1,19);
INTER_Table_UCHAR1(&C_inter_UCHAR1,21);
INTER_Table_UCHAR1(&C_inter_UCHAR1,58);
//G_un8result_CHAR1=INTER_Table_CHAR1(&C_inter_CHAR1,17);
G_un8result_CHAR1=INTER_Table_CHAR1(&C_inter_CHAR1,12);
G_un8result_CHAR1=INTER_Table_CHAR1(&C_inter_CHAR1,25);
DisplayNO((int)G_un8result_CHAR1);
// RTIInit(); //RTI initialization
// EnableInterrupts;//enable interruput
for(;;); /* wait forever */
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -