zoukankan      html  css  js  c++  java
  • stm32调试记录一

    ....SYSTEMusartusart.c(1): error:  #5: cannot open source input file "sys.h": No such file or directory

    #include "..syssys.h"这样就可以找到路径了

    再次编译出现了问题

    ....SYSTEMusart..syssys.h(3): error:  #5: cannot open source input file "stm32f10x_lib.h": No such file or directory没有stm32f10x_lib.h这个库函数

    怎么办???

    上网查了很多资料,都说新版本的 MDK 把 stm32f10x_lib.h 这个文件已经变成
    stm32f10x.h 了。而且都是说把 stm32f10x.h 改成 stm32f10x_lib.h,但是怎么改却
    没说明。首先找到安装路径下的这个文件夹
    注意一定要是 Backup.001 里面的 ARM 中才找到这个,只有这个 STM32F10x 的
    文件夹里才有"stm32f10x_lib.h",其他地方时没有的。然后把 STM32F10x 这个文
    件整个复制下来。粘贴到工程文件中,路径随便,但一定要和该工程的其他东西
    放在同一个文件夹中

    这个只要把....用好就行了 和linux下面的cd .. /../..

    目录结构如此可以解决这个问题


    可是我的电脑里面就是没有这个头文件,我的编译再次出现了困难?????

    后来在网上看到一个帖子发现这是旧版的才有新版的只需要使用stm32f10x.h就可以了


    后面又出现了一个..SYSTEMsyssys.c(76): error:  #136: struct "<unnamed>" has no field "IPR"


    ..HARDWAREEXTIexti.c(65): error:  #20: identifier "EXTI15_10_IRQn" is undefined

    直接用40代替

    ..HARDWAREEXTIexti.c - 0 Error(s), 0 Warning(s).


    ..HARDWARETIMER imer.c(42): error:  #20: identifier "TIM4_IRQn" is undefined

    直接用30代替

    ..HARDWARETIMER imer.c(85): error:  #20: identifier "TIM3_IRQn" is undefined

    直接用29代替

    ..HARDWARETIMER imer.c - 0 Error(s), 0 Warning(s).



    //配置向量表  
    #ifdef  VECT_TAB_RAM
    MY_NVIC_SetVectorTable(NVIC_VectTab_RAM, 0x0);
    #else  
    MY_NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0);
    #endif

    ..SYSTEMsyssys.c(127): error:  #20: identifier "NVIC_VectTab_FLASH" is undefined

    用8位的单片机,一般C语言中可以对某寄存器或输出端口进行移位操作和位取反操作,可以使LED灯流水或闪烁.
    我想问下:
    1. STM32对GPIO操作一般用库函数,那么怎么使某一位端口取反?怎么使某口移位流水? 请写个示范代码.
    
    2.我见一个例子中对PC6端口某个LED闪烁代码如下,不知是什么意思? 是不是取反操作?为什么要先读出位?
    GPIO_WriteBit(GPIOC, GPIO_Pin_6, (BitAction)(1 -GPIO_ReadOutputDataBit(GPIOC, GPIO_Pin_6)));
    
    3.中断向量表是不是都是固定如下的?还是某些情况要重设?
    /* Set the Vector Table base location at 0x20000000 */ 
      NVIC_SetVectorTable(NVIC_VectTab_RAM, 0x0); 
    #else  /* VECT_TAB_FLASH  */
      /* Set the Vector Table base location at 0x08000000 */ 
      NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0);
  • 相关阅读:
    笔记:一篇关于容器和虚拟机的对比
    语义化版本说明脑图
    KiCad EDA 5.1.4 发布了
    KiCad 5.1.4 无法覆铜?
    mac 常用的终端命令
    PC 商城扫描二维码登录
    Git的撤销与回滚
    springboot 集成elasticsearch5.4.3
    redis 缓存类型为map
    基于Elasticsearch 5.4.3的商品搜索系统
  • 原文地址:https://www.cnblogs.com/AI-Algorithms/p/3870058.html
Copyright © 2011-2022 走看看