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

📄 time.c

📁 it is code for briging up_machtion to down machtion,it s functions act protol changing and comunica
💻 C
字号:









#include  "port.h"
#include  "function.h"
#include  "Exvariable.h"
#include "ExHeadFileRs232.h"

//定时器用T0
//定时器1次中断时间间隔是65ms
//如果有向485口发送1帧数据,485没有响应,
//连续发三次,还是没有响应,置故障标志位

void T0InterruptServe(void) interrupt 1
	{
		SFRPAGE=TIMER01_PAGE;
		TF0=0;
		ET0=0;
		TR0 = 0; // Close Timer 1 
		CountT0--;
	  	if( CountT0==0x00)
			{
			
				AnalysisFlag=0;
				T0LookupModule();
				
			
	  		}

		else
			{
	
				SendToModuleFlag=1;
			}

	}



void T0LookupModule( void )
	{
		unsigned int i;
		CountT0=0x03;	
		SFRPAGE=CONFIG_PAGE;
		LampStateMonitor=!LampStateMonitor;		
		switch(Rs485RxBuffer[30])
			{
				case 0x01:
				case 0x02:		
				case 0x03:
				case 0x04:	
				case 0x05:
				case 0x07:
					switch(Rs485RxBuffer[31])
						{
							case 0x00:
								Rs485RxBuffer[31]=0x08;
								SendToModuleFlag=1;
								break;

							case 0x08:
								Rs485RxBuffer[30]++;
								Rs485RxBuffer[31]=0x00;
								SendToModuleFlag=1;
								break;	
							default:
								break;
						}
					break;

				case 0x0a:
					switch(Rs485RxBuffer[31])
						{
							case 0x00:
								Rs485RxBuffer[31]=0x08;
								SendToModuleFlag=1;
								break;

							case 0x08:
								SendToModuleFlag=0;
								SFRPAGE=CONFIG_PAGE;
								LampStateMonitor=0x00;
								break;	
							default:
								break;
						}
					break;

				case 0x06:
							
					switch(Rs485RxBuffer[31])
						{
							case 0x00:
								Rs485RxBuffer[30]++;
								SendToModuleFlag=1;
								break;

							default:
								break;
						}
					break;

				case 0x08:
					switch(Rs485RxBuffer[31])
						{
							case 0x00:
								Rs485RxBuffer[31]=0x01;
								SendToModuleFlag=1;
								break;

							case 0x01:
								Rs485RxBuffer[31]=0x08;
								SendToModuleFlag=1;
								break;

							case 0x08:
								Rs485RxBuffer[30]++;
								Rs485RxBuffer[31]=0x00;
								SendToModuleFlag=1;
								break;	
							default:
								break;
						}
								break;

				case 0x09:
					switch(Rs485RxBuffer[31])
						{

							case 0x00:
								Rs485RxBuffer[31]=0x08;
								SendToModuleFlag=1;
								break;

							case 0x08:
								Rs485RxBuffer[31]=0x09;
								SendToModuleFlag=1;
								break;

							case 0x09:
								Rs485RxBuffer[30]++;
								Rs485RxBuffer[31]=0x00;
								SendToModuleFlag=1;
								break;	
							default:
								break;
						}
					break;

				default:
					break;
			}
	}
















⌨️ 快捷键说明

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