求大虾帮助啊,急急急啊,调了3天了,STM32串口通讯实现简单的计算功能,还是调不出,我的配置都正确了,下面是我的it.c里的中断服务函数 
#include "stm32f10x_it.h" 
#include"stdio.h" 
#include "string.h" 
 
static  int j=0; 
void USART1_IRQHandler(void) 
{ 
        int i=1,k,m,n=0,index=0; 
         
           char str[6]=""; 
           if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET)// 如果是串口接收中断 
        {         
                USART_ClearITPendingBit(USART1,USART_IT_RXNE);//清除USARTx的中断待处理位 
                USART_ClearFlag(USART1,USART_FLAG_TC);  //清除标志位 
 
                if(USART_ReceiveData(USART1)!=' ') 
                { 
                        str[j]=USART_ReceiveData(USART1);        // 将接收到的字节发送出去 
                        j++;         
                } 
                if(USART_ReceiveData(USART1)==' ') 
                { 
                        m=strlen(str); 
                        for(j=0;j<m-1;j++) 
                                i=i*10; 
                        for(j=0;j<m;j++) 
                        { 
                                n=(str[j]-48)*i+n; 
                                i=i/10; 
                        } 
                        n=10000-n; 
                        k=n; 
                        while(n>0)/*index保存x的位数*/ 
                        { 
                        n = n / 10; 
                        index++; 
                    } 
                    for(j=0;j<index;j++) 
                        { 
                        str[index-j-1] = k % 10 +48;/*记得加'0'*/ 
                        k = k / 10; 
                    } 
                    while(  str[j] != '\0') 
                    { 
                                USART_SendData(USART1 ,str[j] ); 
                                while(USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET); 
                                j++; 
                    } 
                        j=0; 
                } 
        } 
                 
} 
 |   
     
  
 |