chenzongxi 发表于 2011-11-25 19:15:13

stm32的can接收中断中怎么不用清中断

中断实验不是在中断函数中清中断,
stm32的usart接收中断中就清中断

发表于 2011-11-25 21:06:52

RE:stm32的can接收中断中怎么不用清中断

CAN也可以是查询接收,所以不用清除中断。这个要看程序了。如果是中断,必须清除中断标志位。

chenzongxi 发表于 2011-11-26 14:23:41

回复:stm32的can接收中断中怎么不用清中断

回复第 2 楼 于2011-11-25 13:06:52发表:
CAN也可以是查询接收,所以不用清除中断。这个要看程序了。如果是中断,必须清除中断标志位。 

就用的中断方式,固件库中can接收中断中并没有清中断啊
 
 
但在main.c中有关中断
 
固件库中程序:

#ifndef STM32F10X_CL
00155 void USB_LP_CAN1_RX0_IRQHandler(void)
00156 #else
00157 void CAN1_RX0_IRQHandler(void)
00158 #endif
00159 {
00160   CanRxMsg RxMessage;
00161
00162   RxMessage.StdId=0x00;
00163   RxMessage.ExtId=0x00;
00164   RxMessage.IDE=0;
00165   RxMessage.DLC=0;
00166   RxMessage.FMI=0;
00167   RxMessage.Data=0x00;
00168   RxMessage.Data=0x00;
00169
00170   CAN_Receive(CAN1, CAN_FIFO0, &RxMessage);
00171
00172   if((RxMessage.ExtId==0x1234) && (RxMessage.IDE==CAN_ID_EXT)
00173      && (RxMessage.DLC==2) && ((RxMessage.Data|RxMessage.Data

火雷达 发表于 2011-11-27 10:36:26

RE:stm32的can接收中断中怎么不用清中断

中断标志位,我记得是有两种类型的,在STM32的英文文档中有过描述,但是不记得是哪个文档
1、手动清除中断标志位,需要软件清除的
2、自动清除中断标志位,硬件自动清除的。
页: [1]
查看完整版本: stm32的can接收中断中怎么不用清中断