|
void Delay(vu32 i) { u32 k; for(k=0;k<i;k++) {} }
for(sd_size=0;sd_size<512;sd_size++) {
GPIO_ResetBits(GPIOB,GPIO_Pin_2); temp=buf[sd_size]; USART_SendData(USART1,temp); while(USART_GetFlagStatus(USART1,USART_FLAG_TXE)==RESET); USART_ClearFlag(USART1,USART_FLAG_TXE); GPIO_ResetBits(GPIOA,GPIO_Pin_3); Delay(400); GPIO_SetBits(GPIOA,GPIO_Pin_3); Delay(400); }
做一个从串口循环发送数据的程序,有个很奇怪的问题,就是必须在每次发送后增加一段延时程序,否则单片机会出现死机现象。不知道是为什么呢,请高手们指点呢。谢谢了。我就是在发送后增加了两次Delay(400),否则开机就会死机。
|
|