完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
求大虾帮助啊,急急急啊,调了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 for(j=0;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 str[index-j-1] = k % 10 +48;/*记得加'0'*/ k = k / 10; } while( str[j] != ' |