求助keil编译显示错误无法包含我写的.h文件

2019-08-19 19:18发布

 我写了的是modbus文件,我把.c和.h都保存在库文件的src文件夹中







友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
正点原子
1楼-- · 2019-08-20 01:04
 精彩回答 2  元偷偷看……
txz
2楼-- · 2019-08-20 04:38
回复【2楼】正点原子:
-------------------------------
我把.c和.h文件放到另一个文件夹就ok了,请问一下include”.h“自动找的范围是创建的工程文件还是更大的范围
正点原子
3楼-- · 2019-08-20 10:35
回复【3楼】txz:
---------------------------------
貌似是工程根目录.
所以一般我们会要求设置头文件包含路径.或者采用"..XXXXxxx.h"的形式
txz
4楼-- · 2019-08-20 11:54
回复【4楼】正点原子:
---------------------------------
原子哥,我用keil调试时,在串口接收中断时如果断点设在if(USART1->SR&(1<<5))//接收到数据  的前面那么程序会跳开if
的语句体,如果把断点设置在if的程序语句体中就可以进入if语句,那么我就不知道程序运行时要不要运行if语句了,这个是什么情况

 断点在这里跳过if语句 if(USART_GetFlagStatus(USART1, USART_FLAG_RXNE) != 0)
 { GPIO_SetBits(GPIOA, GPIO_Pin_11); //485准备接受
    //COM_FLAG_H;
GPIO_SetBits(GPIOB, GPIO_Pin_2);
 断点在这里程序会运行到这里   RxBuffer[RxCounter] = (uint8_t)(USART1->DR & 0x01FF);  //接收数据
//iv = USART_ReceiveData(USART1);   //清接受缓存

    if(RxStart==RESET)  //刚开始接收
    {
      if(RxBuffer[RxCounter]==MODBUS_ADDRESS)  //板地址正确
      {
    TIM_Cmd(TIM7, ENABLE); //定时开始
        RxCounter++;
        RxStart=SET;    //
正点原子
5楼-- · 2019-08-20 16:36
回复【5楼】txz:
---------------------------------
串口中断有很多种,但是他们共用一个中断服务函数,你的现象可能是其他中断类型进入中断函数导致的.
txz
6楼-- · 2019-08-20 20:02
 精彩回答 2  元偷偷看……

一周热门 更多>