Vehicle
函数
main.h 文件参考

汽车模拟控制程序主函数头文件 更多...

#include "def.h"
#include "consol.h"
#include "S3c2410x.h"
#include "INT.h"
#include "2410lib.h"
#include "lcdlib.h"
#include <math.h>
main.h 的引用(Include)关系图:
此图展示该文件直接或间接的被哪些文件引用了:

浏览源代码.

函数

void SystemInit (void)
 系统初始化 更多...
 
void PeripheralInit (void)
 外设初始化 更多...
 
void ExitInit (void)
 中断初始化 更多...
 
void ShowCover (void)
 在LCD上显示成员信息,持续一段时间 更多...
 
void EINT0_Enable (int flag)
 中断0使能函数 更多...
 
void EINT2_Enable (int flag)
 中断2使能函数 更多...
 

详细描述

汽车模拟控制程序主函数头文件


作者
Gump, LDR
版本
V0.1
日期
2019-12-08

函数说明

void SystemInit ( void  )

系统初始化

47 {
48 
49  ChangeClockDivider(1, 1); // 1:2:4
50  ChangeMPllValue(0xa1, 0x3, 0x1); // FCLK=202.8MHz
51 }

这是这个函数的调用关系图:

void PeripheralInit ( void  )

外设初始化

58 {
59 
60  Port_Init();
61  LCD_Init();
62  clrsrc(0xffff); // 白色清屏
63  LcdHorizontal(); // 横屏
64 }

这是这个函数的调用关系图:

void ExitInit ( void  )

中断初始化

71 {
72 
73  __vInitHaltHandlers();
74 
75  EINT0_Enable(True);
76  ISRVector[0] = INT0_Handler; // 中断0处理函数
77 
78  EINT2_Enable(True);
79  ISRVector[2] = INT2_Handler; // 中断2处理函数
80 
81  /* LED 配置 */
82  rGPFCON |= ((1 << 8) | (1 << 14)); // set GPF4,GPF7 为输出管脚
83 
84  /* 数码管配置 */
85  rGPGCON = (rGPGCON & ~(3 << 4)) | (1 << 4); // 设置 GPG2 = OUTPUT
86  rGPGUP |= 1 << 2; // 共16位,将GPG2引脚对应的2号位置设置为拉电流
87 
88  rGPECON = (rGPECON & ~(3 << 18)) | (1 << 18); // 设置 GPE9 = OUTPUT
89  rGPEUP |= 1 << 9; // 共16位,将GPE9引脚对应的9号位置设置为拉电流
90 
91  rGPECON = (rGPECON & ~(0xFF00000)) | (0x5500000); // 设置 GPE[10 ~ 13] = OUTPUT
92  rGPEUP |= (1 << 10) | (1 << 11) | (1 << 12) | (1 << 13); // 将GPE10-13引脚设置为拉电流
93 
94  rGPHCON = (rGPHCON & ~(3 << 16)) | (1 << 16); // 设置点,不亮(GPH8 = OUTPUT)
95  rGPHUP |= 1 << 8;
96 }
void __irq INT2_Handler(void)
按键2中断处理函数 每按一次“档位”成员变量自增一
Definition: vehicle.c:274
void __irq INT0_Handler(void)
按键1中断处理函数 每按一次“档位”成员变量自减一
Definition: vehicle.c:288
void EINT0_Enable(int flag)
中断0使能函数
Definition: main.c:115
void EINT2_Enable(int flag)
中断2使能函数
Definition: main.c:137

函数调用图:

这是这个函数的调用关系图:

void ShowCover ( void  )

在LCD上显示成员信息,持续一段时间

102  {
103 
104  unsigned char *ptr = (unsigned char *)COVER_BUF;
105  ShowImage(ptr, 0, 0, 1);
106 
107  delay(5000);
108 }
void delay(int time)
简单的延时函数
Definition: vehicle.c:303
#define COVER_BUF
Definition: vehicle.h:38

函数调用图:

这是这个函数的调用关系图:

void EINT0_Enable ( int  flag)

中断0使能函数

参数
flag使能标志
116 {
117  int temp;
118  if (flag == True)
119  {
120  temp = rGPFCON;
121  rGPFCON = temp | 0x02;
122  temp = rGPFDAT;
123  rGPFDAT = temp | 0x01;
124  rINTMSK &= ~(BIT_EINT0); // 掩盖寄存器掩盖中断0
125  }
126  else
127  {
128  rINTMSK &= BIT_EINT0;
129  }
130 }

这是这个函数的调用关系图:

void EINT2_Enable ( int  flag)

中断2使能函数

参数
flag使能标志
138 {
139  int temp;
140  if (flag == True)
141  {
142  temp = rGPFCON;
143  rGPFCON = temp | 0x20;
144  temp = rGPFDAT;
145  rGPFDAT = temp | 0x01;
146  rINTMSK &= ~(BIT_EINT2); // 掩盖寄存器掩盖中断0
147  }
148  else
149  {
150  rINTMSK &= BIT_EINT2;
151  }
152 }

这是这个函数的调用关系图: