您的位置:首页 > 其它

基于STM32旋转编码器

2015-09-08 13:53 357 查看
..\..\SYSTEM\usart\usart.c(1): error: #5: cannot open source input file "sys.h": No such file or directory

#include "..\sys\sys.h"这样就能够找到路径了

再次编译出现了问题

..\..\SYSTEM\usart\..\sys\sys.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 这个文

件整个复制下来。

粘贴到project文件里,路径随便,但一定要和该project的其它东西

放在同一个目录中

这个仅仅要把..\..\用好即可了 和linux以下的cd .. /../..

文件夹结构如此能够解决问题

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

后来在网上看到一个帖子发现这是旧版的才有新版的仅仅须要使用stm32f10x.h就能够了

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

..\HARDWARE\EXTI\exti.c(65): error: #20: identifier "EXTI15_10_IRQn" is undefined

直接用40取代

..\HARDWARE\EXTI\exti.c - 0 Error(s), 0 Warning(s).

..\HARDWARE\TIMER\timer.c(42): error: #20: identifier "TIM4_IRQn" is undefined

直接用30取代

..\HARDWARE\TIMER\timer.c(85): error: #20: identifier "TIM3_IRQn" is undefined

直接用29取代

..\HARDWARE\TIMER\timer.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

..\SYSTEM\sys\sys.c(127): error: #20: identifier "NVIC_VectTab_FLASH" is undefined

用8位的单片机,一般C语言中能够对某寄存器或输出port进行移位操作和位取反操作,能够使LED灯流水或闪烁.
我想问下:
1. STM32对GPIO操作一般用库函数,那么怎么使某一位port取反?怎么使某口移位流水? 请写个示范代码.

2.我见一个样例中对PC6port某个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);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: