袁伟康1993 发表于 2013-10-26 23:16:02

求助大侠,stm32串口通讯实现简单的计算

求大虾帮助啊,急急急啊,调了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="";
           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=USART_ReceiveData(USART1);        // 将接收到的字节发送出去
                        j++;        
                }
                if(USART_ReceiveData(USART1)==' ')
                {
                        m=strlen(str);
<span style="widows: 2; text-transform: none; background-color: rgb(255,255,255); text-indent: 0px; letter-spacing: normal; display: inline !important; font: 14px/21px Tahoma, 'Microsoft Yahei', Simsun; white-space: normal; orphans: 2; float: none; color: rgb(68,68,68); word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">                        for(j=0;j

发表于 2013-10-29 09:01:35

RE:求助大侠,stm32串口通讯实现简单的计算

USART_ReceiveData(USART1)只能用1次,应该是先读取:
ch=USART_ReceiveData(USART1);然后对ch进行判断处理。
页: [1]
查看完整版本: 求助大侠,stm32串口通讯实现简单的计算