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

📄 main.c

📁 LIN_InitNode_C161xx.h preconfiguration for C161xx LIN_InitNode_C164xx.h preconfiguration for C164
💻 C
字号:
/********************************************************************************************/
/* Project:     Light module Demo							                                */
/* 				LIN Driver integration														*/
/********************************************************************************************/
/* Copyright:   (c) 2000 by Infineon Technologies								            */
/* 				Systems Engineering Automotive AI SM SEA 									*/
/*				Hermann Kern																*/						
/********************************************************************************************/
/* Update:      10-Okt-00                                                                   */
/********************************************************************************************/
/* Revision:    V1.00                                                                       */
/********************************************************************************************/
/* Remarks:	initialization routines are genareted with DAvE V1.0                        	*/
/**** include files *************************************************************************/
#include <reg164ci.h> 
#include <intrins.h> 
#include "Lin_driver.h"
#include "LIN_InitNode.h"
#include "User_lin_functions.h"

unsigned char Data0,Data1,Data2;
unsigned char i;
unsigned char count = 0;
unsigned char dummy;



void GT1_vInit(void)
{
  /// ------------ Timer 3 Control Register ----------
  ///  timer 3 works in timer mode
  ///  prescaler factor is 1024
  ///  up/down control bit is reset 
  ///  external up/down control is disabled
  T3CON = 0x0006;
  T3    = 0x0000;  //  load timer 3 register

  ///  enable timer 3 interrupt
  ///  timer 3 interrupt priority level(ILVL) = 14
  ///  timer 3 interrupt group level (GLVL) = 0
  T3IC = 0x0078;

  ///  use PEC channel 0 for GPT1 timer 3 interrupt
  ///  - normal interrupt
  ///  - word transfer
  ///  - pointers are not modified
  PECC0 = 0x0000;

  /// ---------- Timer 2 Control Register ----------
  ///  timer 2 works in reload mode 
  ///  timer T2 is disabled
  T2CON = 0x0020;
  T2    = 0x0000;  //  load timer 2 register

  /// ---------- Timer 4 Control Register ----------
  ///  timer 4 works in timer mode
  ///  prescaler factor is 8
  ///  timer 4 run bit is reset
  ///  up/down control bit is reset 
  ///  external up/down control is disabled
  T4CON = 0x0000;
  T4    = 0x0000;  //  load timer 4 register
  T3R = 1;         //   set timer 3 run bit 
}


void main (void) 
{
 GT1_vInit();
 // LIN Initialization
 LIN_vInitNode();
 USER_vInitNode();
 LIN_vConnect();
 // Load message buffer
 USER_vSetData4(TMessage_1,0x00,0x00,0x00,0x00);
 USER_vSetData4(TMessage_2,0x00,0x00,0x00,0x00);
 USER_vSetData4(TMessage_3,0x55,0x55,0x00,0x00);
 Data0 = 1;
 while (1)
 {
  ;
 }
}


void GT1_viIsrTmr3(void) interrupt 0x23
{
 // cyclic interrupt 
  if (count == 0)
  {
   Data0 = 0x00;
    }
  else 
  {
   Data0 = 0x01;  
  }
  
  Data0 = Data0<<(count-1);
  Data1 = Data2 = Data0;
  USER_vSetData4(TMessage_1,Data0,Data1,Data2,0x00);
  USER_vSetData4(TMessage_2,Data0,Data1,Data2,0x00);
  USER_vSetData4(TMessage_3,Data0,Data1,0x00,0x00);
  count++;
  if (count >= 9) count = 0;
  // get received data
  dummy = USER_ucGetData(RMessage_1,0);
  // USER CODE END

}


⌨️ 快捷键说明

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