stm32f105c8t6:
CAN:接收中断函数:
if(SET == CAN_GetITStatus(CAN1, CAN_IT_FF0))
{
CAN_ClearITPendingBit(CAN1, CAN_IT_FF0);
}
else if(SET == CAN_GetITStatus(CAN1, CAN_IT_FOV0))
{
CAN_ClearITPendingBit(CAN1, CAN_IT_FOV0);
}
else
{
// CAN_ClearITPendingBit(CAN1, CAN_IT_FMP0);
CAN_Receive(CAN1, CAN_FIFO0, &RxMessage);
FIFO_PUT_ONE(CAN1_RxFifo, RxMessage);
}
3、CAN中断的接收函数,清除标志位: CAN_ClearITPendingBit(CAN1, CAN_IT_FMP0);这个函数中的参数CAN_IT_FMP0,在V3.5外设库中没有关于CAN_IT_FMP0参数的标志位,所以不存在清除此类的标志位。加入 CAN_ClearITPendingBit(CAN1, CAN_IT_FMP0);会导致在断言检查时出现错误。
4.串口寄存器:
UART->SR //中断类型
UART->DR //读写寄存器
UART->CR->bit7 //开启关闭发送中断