📄 main.c
字号:
/*****************************************************
* Copyright (c) 2002, VSUNTEK, R&D Dept.
* All rights reserved.
Project : Test Box
Version : 0.01
Date : 2007-07-03
Author : SunnyLu
Company : Sunlan
Comments: 控制计算机分立信号测试台 项目
修改记录: 修改 串口偶尔收发数据失败问题 2007 08 30
Chip type : ATmega16L
Program type : Application
Clock frequency : 11.059200 MHz
Memory model : Small
External SRAM size : 0
Data Stack size : 256
*****************************************************/
#include <iom16.h>
#include <stdio.h>
#include <ina90.h>
#include "Public.h"
#include "main.h"
void main(void)
{
Init_Port();
Init_Time0();
Init_Time1();
Init_Time2();
#if CYC == M_110592
USART_Init(5 ); /* Set the baudrate to 115200 bps using a 11.0592 MHz crystal */
#elif CYC == M_73728
USART_Init(3 ); /* Set the baudrate to 115200 bps using a 7.3728 MHz crystal */
#elif CYC == M_8000
USART_Init(12 ); /* Set the baudrate to 38400 bps using a 8.000000 MHz crystal */
#endif
Init_Other();
_SEI(); // 打开总中断
Work_Mode = 0; // 为了开始灯而在此初始化为0
Send_String("\n\r 控制计算机分立信号测试台 \n\r");
Send_String("\n\r 北京中盛华旭电子科技有限公司 \n\r");
Send_String("\n\r \n\r");
Send_String("\n\r 版本:0.01 2007年7月5日 SunnyLu\n\r");
while(time_100ms<10)
{
WatchDog();
}
Init_Param();
if(Work_Mode == 0xA2)
{
LED_Mode = 1;// host led display
Send_String("\n\r 工作方式: 控制机模式 \n\r");
}
else if(Work_Mode == 0xA3)
{
LED_Mode = 2;// client led display
Send_String("\n\r 工作方式: 检测机模式 \n\r");\
}
else
Send_String("\n\r 工作方式: 未设定模式 \n\r");
if(Send_Mode == 0xA0)
Send_String("\n\r 发送模式 : 单次发送模式 \n\r");
else if(Send_Mode == 0xA1)
Send_String("\n\r 发送模式 : 连续发送模式 \n\r");
else
Send_String("\n\r 发送模式 : 未设定发送模式 \n\r");
while (1)
{
Usart_Process();
if(Work_Mode==0xa2) //控制机模式
{
Host_Process();
}
else if(Work_Mode==0xa3 && Rec_Data == 1)//检测机模式
{
Rec_Data = 0 ;
Device_Process();
}
WatchDog();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -