你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

CAN接收中断不进入!!???

[复制链接]
win2000_li 提问时间:2011-3-30 00:08 /
以下是我的代吗!
是CAN接收中断+初始化
波特率100K,
时钟,GPIO,复用,我都设置了,就是不进中断.
这是为什么???????
请高手指点....谢谢!!!!

STM32F103RET6_64PIN

TestCAN.rar

下载

1.02 MB, 下载次数: 202, 下载积分: ST金币 -1

收藏 评论22 发布时间:2011-3-30 00:08

举报

22个回答
废鱼 回答时间:2018-1-16 10:39:26
wishriver 发表于 2018-1-16 09:56
没想到版主也是如此的忽悠,而且还有一群人跟着附和。今天刷论坛,偶尔看到这篇帖子,已经过去6年了,未 ...

谢谢您的提醒,很多年前的帖子了,也不知道解决没有。需要大家进行监督,有问题会及时改正。每个人涉及的领域可能不同,有些问题不能有效帮助解决。只能提供一些经验性的解决思路。论坛靠大家,希望大家多多支持论坛,这样我们才能共进。
wishriver 回答时间:2018-1-16 09:56:43
安 发表于 2011-3-30 09:59
CAN_ITConfig(CAN1, CAN_IT_FMP0, ENABLE);
这里只开启了发送中断,并未开启接收中断。 ...

没想到版主也是如此的忽悠,而且还有一群人跟着附和。今天刷论坛,偶尔看到这篇帖子,已经过去6年了,未结贴,估计楼主已经转行了,不适合做技术,很明确的,楼主CAN_ITConfig(CAN1,CAN_IT_FMP0,ENABLE);这句就是允许can1的接收中断,长点心吧,版主
wishriver 回答时间:2018-1-17 09:25:55
安 发表于 2018-1-16 10:39
谢谢您的提醒,很多年前的帖子了,也不知道解决没有。需要大家进行监督,有问题会及时改正。每个人涉及的 ...

哇!没想到竟然回复了共同努力
win2000_li 回答时间:2011-3-30 00:16:38

RE:CAN接收中断不进入!!???

程序可以正常运行,发送数据没有问题.
就是接收不正确!!!!
win2000_li 回答时间:2011-3-30 08:36:23

RE:CAN接收中断不进入!!???

我顶。。。。。。。。。
兄弟们指点一下。。。。。
zhouke58 回答时间:2011-3-30 08:53:01

RE:CAN接收中断不进入!!???

你没有在中断嵌套函数设置.如下:
void NVIC_Configuration(void)
{
  NVIC_InitTypeDef NVIC_InitStructure;
#ifdef  VECT_TAB_RAM  
  /* 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);   
#endif
  /* enabling interrupt */
  NVIC_InitStructure.NVIC_IRQChannel=USB_LP_CAN_RX0_IRQChannel;
  NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
  NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
  NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
  NVIC_Init(&NVIC_InitStructure);
}
废鱼 回答时间:2011-3-30 09:59:19

RE:CAN接收中断不进入!!???

CAN_ITConfig(CAN1, CAN_IT_FMP0, ENABLE);
这里只开启了发送中断,并未开启接收中断。
win2000_li 回答时间:2011-3-30 10:39:33

RE:CAN接收中断不进入!!???

我看例子都是这么写的啊!!!
win2000_li 回答时间:2011-3-30 10:42:02

RE:CAN接收中断不进入!!???

“你没有在中断嵌套函数设置"
是什么意思???
请zhouke58兄弟指点,。。。。。。。。。。。。。
win2000_li 回答时间:2011-3-30 11:09:39

RE:CAN接收中断不进入!!???

安老师,请指点。。。。。。。。。
zhouke58 回答时间:2011-3-30 12:42:14

RE:CAN接收中断不进入!!???

第一:安老师也讲了“CAN_ITConfig(CAN1, CAN_IT_FMP0, ENABLE);
这里只开启了发送中断,并未开启接收中断。”
这里具体的设置函数如下;
void CAN_ITConfig(u32 CAN_IT, FunctionalState NewState)
使能或者失能指定的CAN中断
CAN_IT:待使能或者失能的CAN中断
NewState:CAN中断的新状态这个参数可以取:ENABLE或者DISABLE
CAN_IT可以取以下值:
CAN_IT_TME 发送邮箱空中断屏蔽
CAN_IT_FMP0 FIFO0消息挂号中断屏蔽
CAN_IT_FF0 FIFO0满中断屏蔽
CAN_IT_FOV0 FIFO0溢出中断屏蔽
AN_IT_FMP1 FIFO1消息挂号中断屏蔽
CAN_IT_FF1 FIFO1满中断屏蔽
CAN_IT_FOV1 FIFO1溢出中断屏蔽
CAN_IT_EWG 错误警告中断屏蔽
CAN_IT_EPV 错误被动中断屏蔽
CAN_IT_BOF 离线中断屏蔽
CAN_IT_LEC 上次错误号中断屏蔽
CAN_IT_ERR 错误中断屏蔽
CAN_IT_WKU 唤醒中断屏蔽
CAN_IT_SLK 睡眠标志位中断屏蔽
以上一定要设置
zhouke58 回答时间:2011-3-30 12:44:12

RE:CAN接收中断不进入!!???

第二设置void NVIC_Configuration(void)
NVIC驱动有多种用途:例如使能或者失能IRQ中断,使能或者失能单独的IRQ通道,改变IRQ通道的优先级等等。
具体你可以自己看固件库,都有说明的,我也是从里面弄出来的。
EEyuebb 回答时间:2011-5-24 16:57:00

回复:CAN接收中断不进入!!???

<div style='padding:5px;border:1px dashed #ccc;'>回复第 5 楼 安于2011-03-30 01:59:19发表:
CAN_ITConfig(CAN1, CAN_IT_FMP0, ENABLE);
这里只开启了发送中断,并未开启接收中断。
EEyuebb 回答时间:2011-5-24 17:04:26

回复:CAN接收中断不进入!!???

回复第 5 楼 安于2011-03-30 01:59:19发表:
CAN_ITConfig(CAN1, CAN_IT_FMP0, ENABLE);
这里只开启了发送中断,并未开启接收中断。 

如何设置开启接收中断 CAN_ITConfig 中的第二个参数内的内容
   CAN_IT_TME, Transmit mailbox empty、、CAN_IT_FMP0, FIFO 0 message pendin个、、   CAN_IT_FF0,FIFO 0 full 
CAN_IT_FOV0, FIFO 0 overrun、、CAN_IT_FMP1, FIFO 1 message pending、、CAN_IT_FF1,FIFO 1 full 
CAN_IT_FOV1,FIFO 1 overrun、、CAN_IT_EWG, Error warning、、CAN_IT_EPV,Error passive、、 CAN_IT_LEC,Last error code
 CAN_IT_ERR,  Error、、CAN_IT_WKU Wake-up  or CAN_IT_SLK. Sleep
没有这个中断的设置啊
EEyuebb 回答时间:2011-5-24 17:05:08

回复:CAN接收中断不进入!!???

回复第 5 楼 安于2011-03-30 01:59:19发表:
CAN_ITConfig(CAN1, CAN_IT_FMP0, ENABLE);
这里只开启了发送中断,并未开启接收中断。 

如何设置开启接收中断 CAN_ITConfig 中的第二个参数内的内容
   CAN_IT_TME, Transmit mailbox empty、、CAN_IT_FMP0, FIFO 0 message pendin个、、   CAN_IT_FF0,FIFO 0 full 
CAN_IT_FOV0, FIFO 0 overrun、、CAN_IT_FMP1, FIFO 1 message pending、、CAN_IT_FF1,FIFO 1 full 
CAN_IT_FOV1,FIFO 1 overrun、、CAN_IT_EWG, Error warning、、CAN_IT_EPV,Error passive、、 CAN_IT_LEC,Last error code
 CAN_IT_ERR,  Error、、CAN_IT_WKU Wake-up  or CAN_IT_SLK. Sleep
没有这个中断的设置啊
EEyuebb 回答时间:2011-5-26 16:39:04

回复:CAN接收中断不进入!!???

回复第 5 楼 安于2011-03-30 01:59:19发表:
CAN_ITConfig(CAN1, CAN_IT_FMP0, ENABLE);
这里只开启了发送中断,并未开启接收中断。 

你确定是这里开启的发送中断 而不是接收中断 FIFO是对接收的处理器件 发送的用的可都是关于发送邮箱的操作符
如果如你所说 是开启的发送中断 那你是怎么解决的 接收中断的开启
EEyuebb 回答时间:2011-5-26 21:29:47

回复:CAN接收中断不进入!!???

回复第 14 楼 EEyuebb于2011-05-26 08:39:04发表:
回复第 5 楼 安于2011-03-30 01:59:19发表:
CAN_ITConfig(CAN1, CAN_IT_FMP0, ENABLE);
这里只开启了发送中断,并未开启接收中断。 

你确定是这里开启的发送中断 而不是接收中断 FIFO是对接收的处理器件 发送的用的可都是关于发送邮箱的操作符
如果如你所说 是开启的发送中断 那你是怎么解决的 接收中断的开启
 

现已确认过 CAN_IT_FMP0就是对FIFO 0 (即对应CAN1_RX0中断通道时的中断)接收到数据的中断的开启,接收中断所负责的是将FIFO区域内的数据取出到RX_Message内
12下一页

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版