打印

STM32 IAR 固件库函数V3.5 中断编译出错

[复制链接]
5907|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
深夜星空|  楼主 | 2013-4-15 10:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 深夜星空 于 2013-4-15 11:05 编辑

小弟刚刚接触STM32,还需前辈们多多指点:
我用的是IAR6.4 ,固件库函数V3.5,板子是在网上买的STM32F107VC的实验板,想做CAN通信实验,使能CAN的接收中断,问题就处在配置中断上面了
头文件这样时:
#include "stm32f10x.h"
#include <stdio.h>
//#include "stm32_eval.h"
//#include "stm3210c_eval_lcd.h"
#include "Delay.c"
#include "Periph_Configuration.c"

中断的函数:
void NVIC_Config(void)
{
  NVIC_InitTypeDef  NVIC_InitStructure;
  NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);
  NVIC_InitStructure.NVIC_IRQChannel = CAN2_RX0_IRQn;  *************************错误指向这里
  NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x0;
  NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x0;
  NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
  NVIC_Init(&NVIC_InitStructure);
}
错误提示:Error[Pe020]: identifier "CAN2_RX0_IRQn" is undefined E:\毕业设计\程序\CAN-485\main.c 74

头文件是这样时
#include "stm32f10x.h"
#include <stdio.h>
#include "stm32_eval.h"
//#include "stm3210c_eval_lcd.h"
#include "Delay.c"
#include "Periph_Configuration.c"

错误又指向了stm32_eval.h中
#ifdef USE_STM32100B_EVAL
#include "stm32f10x.h"
#include "stm32100b_eval/stm32100b_eval.h"
#elif defined USE_STM3210B_EVAL
#include "stm32f10x.h"
#include "stm3210b_eval/stm3210b_eval.h"
#elif defined USE_STM3210E_EVAL
#include "stm32f10x.h"
#include "stm3210e_eval/stm3210e_eval.h"
#elif defined USE_STM3210C_EVAL
#include "stm32f10x.h"
#include "stm3210c_eval/stm3210c_eval.h"
#elif defined USE_STM32L152_EVAL
#include "stm32l1xx.h"
#include "stm32l152_eval/stm32l152_eval.h"
#elif defined USE_STM32100E_EVAL
#include "stm32f10x.h"
#include "stm32100e_eval/stm32100e_eval.h"
#else
#error "Please select first the STM32 EVAL board to be used (in stm32_eval.h)"****************错误指向这里
#endif   

在工程选项里也添加了STM32F10X_MD   USE_STDPERIPH_DRIVER   STM3210B_EVAL 这三行,还是不行。
求前辈们指点

QQ截图20130415102706.png (91.86 KB )

QQ截图20130415102706.png

QQ截图20130415104129.png (95.86 KB )

QQ截图20130415104129.png
沙发
深夜星空|  楼主 | 2013-4-15 11:16 | 只看该作者
还有就是我看网上说的配置IAR的时候,删除了core_cm3.c和core_cm3.h文件,也有说这两个文件是配置中断优先级的。我的已经删了,不知道是不是这个原因,如果不删除的话,好像IAR其他的简单程序都会出错,不晓得这些怎么弄

使用特权

评论回复
板凳
杨爱林林| | 2013-4-15 11:20 | 只看该作者
先换这句试试看
USB_LP_CAN1_RX0_IRQn
库函数版本不一的问题

使用特权

评论回复
地板
深夜星空|  楼主 | 2013-4-15 11:23 | 只看该作者
杨爱林林 发表于 2013-4-15 11:20
先换这句试试看
USB_LP_CAN1_RX0_IRQn
库函数版本不一的问题

好使:lol,,那能把你这个版本的库函数说明发给我一份吗?或者在哪能下载到?我怕以后在别的地方在遇到问题,多谢!多谢!!

使用特权

评论回复
5
杨爱林林| | 2013-4-15 11:32 | 只看该作者
好的, 你看看可行

Libraries.zip

919.15 KB

使用特权

评论回复
6
深夜星空|  楼主 | 2013-4-15 11:40 | 只看该作者
杨爱林林 发表于 2013-4-15 11:32
好的, 你看看可行

那啥,不是这个,是关于它的说明文档,那个PDF,介绍它里面包括的函数和参数的

使用特权

评论回复
7
杨爱林林| | 2013-4-15 12:21 | 只看该作者
你再看看这个

stm32固件库中文.pdf

2.32 MB

使用特权

评论回复
8
tanmilaoshu| | 2013-4-15 17:01 | 只看该作者
杨爱林林 发表于 2013-4-15 12:21
你再看看这个

文档出错啦……什么都没有

使用特权

评论回复
9
深夜星空|  楼主 | 2013-4-15 17:54 | 只看该作者
杨爱林林 发表于 2013-4-15 12:21
你再看看这个

大侠,这个是F101、F103的固件库,你有F107的吗?:lol

使用特权

评论回复
10
杨爱林林| | 2013-4-15 18:35 | 只看该作者
tanmilaoshu 发表于 2013-4-15 17:01
文档出错啦……什么都没有

百度一把吧的,你找找看

使用特权

评论回复
11
杨爱林林| | 2013-4-15 18:37 | 只看该作者
深夜星空 发表于 2013-4-15 17:54
大侠,这个是F101、F103的固件库,你有F107的吗?

103的库 肯定是适用于105,107的
区别就在于后面互联型 多了些模块而已

使用特权

评论回复
12
深夜星空|  楼主 | 2013-4-15 19:15 | 只看该作者
杨爱林林 发表于 2013-4-15 18:37
103的库 肯定是适用于105,107的
区别就在于后面互联型 多了些模块而已

晓得了,刚找到问题了。我的是互联型产品,主要问题是在工程配置里面Define里面添加错了,中断的那些函数和变量的定义也在文件里面找到了,谢谢大侠哈。

使用特权

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

本版积分规则

31

主题

345

帖子

3

粉丝