打印
[STM32F1]

求助,STM32F103 中断函数问题。

[复制链接]
1000|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
mwj123|  楼主 | 2018-3-3 22:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
之前感谢大家的帮助,根据大家的意见更改了程序,大致思路如下
设置usart接收数据中断,然后在中断函数中以数组变量作为缓冲区接收数据,然后定义全局变量在主函数里判断,但为什么还是没有反应。。
--------------------------具体程序如下-------------------------
// 串口中断服务函数
void DEBUG_USART_IRQHandler(void)
{
if(USART_GetITStatus(DEBUG_USARTx,USART_IT_RXNE)!=RESET)
        {               
                //--------------------以下为判断函数--------------
    uartTemp[i]=USART_ReceiveData(DEBUG_USARTx);
        if(uartTemp[i]==0xff)
          {
                i++;
          }
        if(uartTemp[i]==0x00)
          {
                n++;
          }
               
   if(i==3)
          {
                 a=(uartTemp[i]<< 8)&0xFF00;
          }
         if(i==4)
          {
                 b=(uartTemp[i]&0xFF)|a;
          }
}                 
}
以下是主函数
extern uint8_t uartTemp[10];
extern uint16_t a,b;
extern int n,i;
int main(void)
{        USART_Config();
        LED_GPIO_Config();
        BEEP_GPIO_Config();       
while(1)
{ if((0x64<b&&b<0x2BC)||n==3)
                        {
                                BEEP( ON );
                                Delay(0x00000F);       
                                LED_RGBOFF;
                                n=0;
                                i=0;
                        }
                        else
                        {
                                BEEP( OFF );
                                Delay(0x00000F);       
                                LED_RED;               
                        }
}
}
沙发
zhuotuzi| | 2018-3-4 10:38 | 只看该作者
不会用debug这种。

使用特权

评论回复
板凳
huangcunxiake| | 2018-3-4 11:38 | 只看该作者
用HAL库做啊

使用特权

评论回复
地板
xyz549040622| | 2018-3-4 17:57 | 只看该作者
没反应是什么意思,中断进去了没,哪句没反应,建议是实时观察需要监测的值,可以用串口打印来监测。

使用特权

评论回复
5
coderdd| | 2018-3-4 21:51 | 只看该作者
不明白你说的什么意思,最好表达清楚,哪一步没达到直接下断点分析,串口处理相对来说还是比较简单的

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

16

帖子

0

粉丝