新手入门
- 积分
- 13
- 金钱
- 13
- 注册时间
- 2021-10-9
- 在线时间
- 57 小时
|
11金钱
代码执行会卡死,把while(SYNC==RESET);注释就不会卡着
#define SYNC GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_3)
//PB3的初始化
void SYNC_init(void)
{
GPIO_InitTypeDef GPIO_InitStruct;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
GPIO_InitStruct.GPIO_Mode=GPIO_Mode_IN_FLOATING;//GPIO_Mode_AIN
GPIO_InitStruct.GPIO_Pin=GPIO_Pin_3;
GPIO_Init(GPIOB,&GPIO_InitStruct);
//GPIO_ResetBits(GPIOB,GPIO_Pin_3);
}
void EXTI15_10_IRQHandler(void)
{
int i;
float VoltsX;
//加入一个等待同步的过程//
if(SYNC==0)
{
while(SYNC==RESET);//等SYNC变高
for(i=0;i<1000;i++)
{
Ch_Buf[i] = ADS1256ReadData();
}
for(i=0;i<1000;i++)
{
VoltsX =Ch_Buf[i]*0.000000598;
printf("%.6f \r\n",VoltsX);
}
EXTI_ClearITPendingBit(EXTI_Line12);
}
else //sync=1
{
while(SYNC!=RESET);//等SYNC变低
while(SYNC==RESET);//等SYNC变高
for(i=0;i<1000;i++)
{
Ch_Buf[i] = ADS1256ReadData();
}
for(i=0;i<1000;i++)
{
VoltsX =Ch_Buf[i]*0.000000598;
printf("%.6f \r\n",VoltsX);
}
EXTI_ClearITPendingBit(EXTI_Line12);
}
}
|
|