初级会员

- 积分
- 50
- 金钱
- 50
- 注册时间
- 2015-1-24
- 在线时间
- 0 小时
|
5金钱
有没有人遇到过这种现象,给RTC定闹钟后ADC就采集不回数据了,ADC标志位也不置位,这是为什么啊
这时闹钟程序
void Alarm_Config(uint8_t Hour,uint8_t Minute,uint8_t Second)
{
EXTI_InitTypeDef EXTI_InitInstructure;
RTC_AlarmTypeDef RTC_AlarmInstructure;
NVIC_InitTypeDef NVIC_InitStructure;
/* Enable the PWR clock */
RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);
/* Allow access to RTC */
PWR_BackupAccessCmd(ENABLE);
RTC_AlarmCmd(RTC_Alarm_A,DISABLE);
RTC_AlarmInstructure.RTC_AlarmDateWeekDay =RTC_Weekday_Saturday;//????????????????week?ò????????RTC_Weekday_Friday?®?à????????????Date?ò????0~31
RTC_AlarmInstructure.RTC_AlarmDateWeekDaySel=RTC_AlarmDateWeekDaySel_WeekDay;//°?????????°???????
RTC_AlarmInstructure.RTC_AlarmMask =RTC_AlarmMask_None;//???·?????±·???
RTC_AlarmInstructure.RTC_AlarmTime.RTC_H12 =RTC_H12_AM;
RTC_AlarmInstructure.RTC_AlarmTime.RTC_Hours=Hour;
RTC_AlarmInstructure.RTC_AlarmTime.RTC_Minutes=Minute;
RTC_AlarmInstructure.RTC_AlarmTime.RTC_Seconds=Second;
RTC_SetAlarm(RTC_Format_BIN,RTC_Alarm_A,&RTC_AlarmInstructure);
RTC_ClearFlag(RTC_FLAG_ALRAF);
RTC_ITConfig(RTC_IT_ALRA,ENABLE);
RTC_AlarmCmd(RTC_Alarm_A,ENABLE);
EXTI_InitInstructure.EXTI_Line =EXTI_Line17;
EXTI_InitInstructure.EXTI_LineCmd=ENABLE;
EXTI_InitInstructure.EXTI_Mode =EXTI_Mode_Interrupt;
EXTI_InitInstructure.EXTI_Trigger=EXTI_Trigger_Rising;
EXTI_Init(&EXTI_InitInstructure);
NVIC_InitStructure.NVIC_IRQChannel = RTC_Alarm_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 2;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
}
卡死在这个while中
float temperature_voltage_read(void)
{
ADC_RegularChannelConfig(ADC1, ADC_Channel_1, 1, ADC_SampleTime_56Cycles);
ADC_SoftwareStartConv(ADC1);
while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC));
return ADC_GetConversionValue(ADC1)*3.3/0XFFF;//
}
|
|