Exemplo n.º 1
0
/*
配置系统的顺序
CPU 内部、底层硬件
外部接口
外部硬件(按键、显示)
读取外部配置数据
传感器系统(RTC 时钟)
操作系统
任务
驻留任务(如:传感器读取、恒温箱温控、掉电时间记录)
采样任务
监控任务
*/
__task	int32_t	main( void )
{

	BIOS_Init();
	beep();
	RTOS_Init();		//	尽早执行

	ConfigureLoad();	//	先确定仪器型号
	CalibrateLoad();	//	读传感器前执行,	远程存储器中的参数,应等通讯初始化后再读。
	SampleSetLoad();	//	恢复采样前执行

	Display_Init();
	DisplaySetGrayVolt( Configure.DisplayGray * 0.022f );
	DisplaySetLight( Configure.DisplayLight );
	DisplaySetTimeout( Configure.TimeoutLight );
	Keyboard_Init();	//	配置完背光超时时间后再初始化

	RTC_Init();			//	为避免启动过程中时钟失败造成的假死现象,放在显示初始化之后
	SD_Init();				//	SD卡读写初始化,放在开关机存取之前
	PowerLog_Init();	//	开关机存取,时间初始化之后

	SENSOR_Local_Init();
	delay( 1000u );		//配合下位机初始化	<注意!要进行下位机测试来确定参数!>300
	
	Animation();		//	开机动画
	delay( 1600u );

	ShowEdition();	//	确定型号之后,显示初始化之后
	delay( 1400u );

	SENSOR_Remote_Init();		//	modbus通信初始化
	delay( 100u );

	HCBox_Init();
	delay( 100u );
	
	Sampler_BootResume();	//	时间配置完成之后,设置参数读入之后。
	delay( 100u );
	
	SamplerTypeSelect();
	delay( 100u );

	for(;;)
	{
		menu_Main();	//	转主菜单
	}
}
Exemplo n.º 2
0
/*
配置系统的顺序
CPU 内部、底层硬件
外部接口
外部硬件(按键、显示)
读取外部配置数据
传感器系统(RTC 时钟)
操作系统
任务
驻留任务(如:传感器读取、恒温箱温控、掉电时间记录)
采样任务
监控任务
*/
__task	int32_t	main( void )
{

	BIOS_Init();
	beep();
	RTOS_Init();		  //	尽早执行
		
	EditionSelsct();
	ConfigureLoad();	//	先确定仪器型号
	CalibrateLoad();	//	读传感器前执行,	远程存储器中的参数,应等通讯初始化后再读。
	SampleSetLoad();	//	恢复采样前执行
	
	Display_Init();
	DisplaySetGrayVolt( Configure.DisplayGray * 0.01f );
	DisplaySetLight( Configure.DisplayLight );
	DisplaySetTimeout( Configure.TimeoutLight );
	Keyboard_Init();	//	配置完背光超时时间后再初始化。

	ShowEdition();		//	版本显示 确定型号之后,显示初始化之后	
	SENSOR_Local_Init();	//	本地传感器读取以及液晶灰度调节
	
	RTC_Init();			  //	为避免启动过程中时钟失败造成的假死现象,放在显示初始化之后
	
	SD_Init();				//	SD卡读写初始化,放在开关机存取之前
	delay( 500u );
	PowerLog_Init();	//	开关机存取,时间和SD卡初始化之后
	
	delay( 2000u );		//  配合下位机初始化
	SENSOR_Remote_Init();		//	modbus通信初始化

	HCBox_Init();
	delay( 500u );
	
	Sampler_BootResume();	  //	时间配置完成之后,设置参数读入之后。
	delay( 1500u );
	
	SamplerSelect = Q_ALL;	//	初始化当前采样器为不合理的值,进行一次切换,切换到第一个合理的值。
	SamplerTypeSwitch();
	for(;;)
	{
		menu_Main();	        //	转主菜单
	}
}
Exemplo n.º 3
0
void PL_INIT(void)
{
	#if PL_HAS_LED
		LED_INIT();
	#endif

	#if PL_HAS_RTOS
		RTOS_Init();
	#endif

	#if PL_HAS_EVENTS
		EVENT_Init();
	#endif

	#if PL_HAS_KEYS
		KEY_Init();
	#endif

	#if PL_HAS_TRIGGER
		TRG_Init();
	#endif

	#if PL_HAS_DEBOUNCE
		DBNC_Init();
	#endif

	#if PL_HAS_MEALY
		MEALY_Init();
	#endif

	#if PL_HAS_BUZZER
			BUZ_Init();
	#endif

	#if PL_HAS_SHELL
		SHELL_Init();
	#endif
}
Exemplo n.º 4
0
void PL_Init(void) {
#if PL_CONFIG_HAS_LED
    LED_Init();
#endif
#if PL_CONFIG_HAS_EVENTS
    EVNT_Init();
#endif
#if PL_CONFIG_HAS_TIMER
    TMR_Init();
#endif
#if PL_CONFIG_HAS_TRIGGER
    TRG_Init();
#endif
#if PL_CONFIG_HAS_BUZZER
    BUZ_Init();
#endif
#if PL_CONFIG_HAS_RTOS
    RTOS_Init();
#endif
#if PL_CONFIG_HAS_SHELL
    SHELL_Init();
#endif
#if PL_CONFIG_HAS_SHELL_QUEUE
    SQUEUE_Init();
#endif
#if PL_CONFIG_HAS_MOTOR
    MOT_Init();
#endif
#if PL_CONFIG_HAS_LINE_SENSOR
    REF_Init();
#endif
#if PL_CONFIG_HAS_MOTOR_TACHO
    TACHO_Init();
#endif
#if PL_CONFIG_HAS_MCP4728
    MCP4728_Init();
#endif
#if PL_CONFIG_HAS_ULTRASONIC
    US_Init();
#endif
#if PL_CONFIG_HAS_PID
    PID_Init();
#endif
#if PL_CONFIG_HAS_DRIVE
    DRV_Init();
#endif
#if PL_CONFIG_HAS_TURN
    TURN_Init();
#endif
#if PL_CONFIG_HAS_LINE_FOLLOW
    LF_Init();
#endif
#if PL_CONFIG_HAS_RADIO
    RNETA_Init();
#endif
#if PL_CONFIG_HAS_REMOTE
    REMOTE_Init();
#endif
#if PL_CONFIG_HAS_IDENTIFY
    ID_Init();
#endif
#if PL_CONFIG_HAS_LINE_MAZE
    MAZE_Init();
#endif
}
Exemplo n.º 5
0
void RTOS_Run(void) {
	RTOS_Init();
	FRTOS1_vTaskStartScheduler();  /* does usually not return! */
}