//发送一次音频数据
//固定为32字节
//返回值:0,发送成功
//		 1,VS10xx不缺数据,本次数据未成功发送    
u8 VS_Send_MusicData(u8* buf)
{
	u8 n;
	if(VS_DQ!=0)  //送数据给VS10XX
	{	
        mico_rtos_suspend_all_thread();
		VS_XDCS_Clr();  
        for(n=0;n<32;n++)
		{
			VS_SPI_ReadWriteByte(buf[n]);	 			
		}
		VS_XDCS_Set();   
        mico_rtos_resume_all_thread(); 
	}else return 1;
	return 0;//成功发送了
}
Esempio n. 2
0
static int rtc_standby( lua_State* L )
{
   char buff[32];
   int nsec = luaL_checkinteger( L, 1 );
   if ((nsec < 0) || (nsec > 84559)) {
     lua_pushstring(L, "wrong interval"); 
     return 1;
   }
   sprintf(buff,"Going to standby for %d seconds\r\n", nsec);
   l_message(NULL,buff);
   mico_rtos_suspend_all_thread();
   MicoSystemStandBy(nsec);
   mico_rtos_resume_all_thread();
   lua_pushstring(L, "RETURN FROM STANDBY"); 
   return 1;
}
Esempio n. 3
0
static int rtc_standbyUntil( lua_State* L )
{
    RTC_AlarmTypeDef  RTC_AlarmStructure;
 
    mico_rtos_suspend_all_thread();

    RTC_AlarmStructure.RTC_AlarmTime.RTC_H12     = RTC_HourFormat_24;
    RTC_AlarmStructure.RTC_AlarmTime.RTC_Hours   = luaL_checkinteger( L, 1 );
    RTC_AlarmStructure.RTC_AlarmTime.RTC_Minutes = luaL_checkinteger( L, 2 );
    RTC_AlarmStructure.RTC_AlarmTime.RTC_Seconds = luaL_checkinteger( L, 3 );
    RTC_AlarmStructure.RTC_AlarmDateWeekDay = 0x31;
    RTC_AlarmStructure.RTC_AlarmDateWeekDaySel = RTC_AlarmDateWeekDaySel_Date;
    RTC_AlarmStructure.RTC_AlarmMask = RTC_AlarmMask_DateWeekDay ;

    RTC_AlarmCmd(RTC_Alarm_A, DISABLE);
    /* Disable the Alarm A */
    RTC_ITConfig(RTC_IT_ALRA, DISABLE);

    /* Clear RTC Alarm Flag */ 
    RTC_ClearFlag(RTC_FLAG_ALRAF);

    RTC_SetAlarm(RTC_Format_BIN, RTC_Alarm_A, &RTC_AlarmStructure);

    /* Enable RTC Alarm A Interrupt: this Interrupt will wake-up the system from
       STANDBY mode (RTC Alarm IT not enabled in NVIC) */
    RTC_ITConfig(RTC_IT_ALRA, ENABLE);

    /* Enable the Alarm A */
    RTC_AlarmCmd(RTC_Alarm_A, ENABLE);

    char buff[32];
    sprintf(buff,"Wake up at %02d:%02d:%02d\r\n", RTC_AlarmStructure.RTC_AlarmTime.RTC_Hours, RTC_AlarmStructure.RTC_AlarmTime.RTC_Minutes, RTC_AlarmStructure.RTC_AlarmTime.RTC_Seconds);
    l_message(NULL,buff);

    PWR_EnterSTANDBYMode();
   
    mico_rtos_resume_all_thread();
    lua_pushstring(L, "RETURN FROM STANDBY"); 
    return 1;
}
Esempio n. 4
0
USED void _mutex_acquire(void* mutex)
{
  mico_rtos_suspend_all_thread();
}