Exemple #1
0
void delay_ms(uint32_t delay)
{
	ticks = 0;
	SYSTM001_StartTimer(delay_TimerId);
	while( ticks < delay );
	SYSTM001_StopTimer(delay_TimerId);
	ticks = 0;
}
void removeTimer(uint32_t *status, handle_t *timerID)
{
	if(*timerID != 0)
	{
		*status = SYSTM001_StopTimer(*timerID);

		if(*status == DAVEApp_SUCCESS)
		{
			SYSTM001_DeleteTimer(*timerID);
			*timerID = 0;
		}
	}
}
void resetMeasurements(void)
{
	SYSTM001_StopTimer(TimerIdReadMeasurements);

	SYSTM001_DeleteTimer(TimerIdReadMeasurements);
}
float readHumidity(void)
{
	if(canH)
	{
		canH = 0;
		I2C001_DataType data1;
		data1.Data1.TDF_Type = I2C_TDF_MStart;
		data1.Data1.Data = ((HTDU21D_ADDRESS << 1) | I2C_WRITE);
		I2C001_WriteData(&I2C001_Handle1,&data1);

		delay11(DELAY);

		I2C001_DataType data2;
		data2.Data1.TDF_Type = I2C_TDF_MTxData;
		data2.Data1.Data = TRIGGER_HUMD_MEASURE_NOHOLD;
		I2C001_WriteData(&I2C001_Handle1,&data2);

		delay11(DELAY);

		if(timerHumidOn == 0)
		{
			TimerRdHumid = SYSTM001_CreateTimer(55, SYSTM001_PERIODIC, readHumidTimerHandler, NULL);
			SYSTM001_StartTimer(TimerRdHumid);
			timerHumidOn = 1;
		}

		while(TRUE)
		{
			if(errorCounter > 3)
			{
				errorCounter = 0;
				SYSTM001_StopTimer(TimerRdHumid);
				SYSTM001_DeleteTimer(TimerRdHumid);
				TimerRdHumid = 0;
				timerHumidOn = 0;
				canH = 1;
				return 998;
			}
			else if(1 == wrong_checksum)
			{
				wrong_checksum = 0;
				SYSTM001_StopTimer(TimerRdHumid);
				SYSTM001_DeleteTimer(TimerRdHumid);
				TimerRdHumid = 0;
				timerHumidOn = 0;
				canH = 1;
				return 999;
			}
			else if(1 == readHumid)
			{
				readHumid = 0;
				SYSTM001_StopTimer(TimerRdHumid);
				SYSTM001_DeleteTimer(TimerRdHumid);
				TimerRdHumid = 0;
				timerHumidOn = 0;
				canH = 1;
				break;
			}
		}
	}
	return rh;
}
void removeReceiveTimer(void)
{
	SYSTM001_StopTimer(TimerIdRxMessage);
	SYSTM001_DeleteTimer(TimerIdRxMessage);
	TimerIdRxMessage = 0;
}
void removeMainTimer(void)
{
	SYSTM001_StopTimer(mainInitTimerID);
	SYSTM001_DeleteTimer(mainInitTimerID);
	mainInitTimerID = 0;
}