[mw_shl_code=c,true] int main(void)
{
u8 i;
u8 a,b,c,d,e,f,g,h;
u8 t=0;
u8 len;
u16 times=0;
u8 fasongshuzu[7]={0x40,0x41,0x42,0x43,0x44,0x45,0x46};
SystemInit();//系统时钟等初始化
delay_init(72); //延时初始化
NVIC_Configuration();//设置NVIC中断分组2:2位抢占优先级,2位响应优先级
uart_init(9600);//串口初始化为9600
LED_Init(); //LED端口初始化
while(1)
{
if(KEY0==0)
{
delay_ms(100);
if(KEY0==0)
{
for(i=0;i<7;i++)
{
USART_ClearFlag(USART1,USART_FLAG_TC);//清除标志位
USART1->DR=fasongshuzu;
while((USART1->SR&0X40)==0);//等待发送结束
}
// USART_RX_STA=0;
}
}[/mw_shl_code]
代码如上所示,会不会是最上面那个清除标志位的问题呢? |