中级会员
 
- 积分
- 238
- 金钱
- 238
- 注册时间
- 2016-4-4
- 在线时间
- 31 小时
|
10金钱
求大神指教!
我是初学者,是这样的:我的传感器,每断电然后再上电就会发送一串数据,现在要不断的采集传感器的实时数据,要通过串口不断的采集这串数据,并不断的发送出去。
这是我的主函数:
int main(void)
{
USART1_Config();
Motivate_GPIO_Config();
USART_ITConfig(USART1,USART_IT_TXE,ENABLE);
while(1)
{
USART_ITConfig(USART1,USART_IT_RXNE,ENABLE); //使能串口接收
JIFA(GAO); //激发高电平
delay_ms(500);
JIFA(DI); //激发低电平
delay_ms(1000); //传感器每断电上电一次,都会发送一串数据
JIFA(GAO);
delay_ms(500);
}
}
这是我的中断服务函数:
void USART1_IRQHandler(void)
{
if(USART_GetITStatus(USART1,USART_IT_RXNE)!=RESET)
{
USART_ClearITPendingBit(USART1,USART_IT_RXNE);
RxBuf[RxCount++]=USART_ReceiveData(USART1);
}
RxSize=RxCount;
if(USART_GetITStatus(USART1,USART_IT_TXE)!=RESET)
{
USART_SendData(USART1,RxBuf[Send_Length++]);
if(Send_Length==RxSize)
{
USART_ClearITPendingBit(USART1,USART_IT_TXE);
USART_ITConfig(USART1,USART_IT_TXE,DISABLE);
USART_ITConfig(USART1,USART_IT_TC,ENABLE);
}
}
if(USART_GetITStatus(USART1,USART_IT_TC)!=RESET)
{
USART_ClearITPendingBit(USART1,USART_IT_TC);
USART_ITConfig(USART1,USART_IT_TC,DISABLE);
}
}
|
|