hal_tick.h changed for the L432KC target in TARGET/../device/ in order to reassign the system ticker from TIM2 to TIM7, since TIM2 was needed as a 32bit encoder counter.
Dependents: Nucleo_L432KC_Quadrature_Decoder_with_ADC_and_DAC
Fork of mbed-dev by
Diff: targets/TARGET_STM/TARGET_STM32F1/can_api.c
- Revision:
- 156:95d6b41a828b
- Parent:
- 154:37f96f9d4de2
--- a/targets/TARGET_STM/TARGET_STM32F1/can_api.c Thu Jan 05 10:51:54 2017 +0000 +++ b/targets/TARGET_STM/TARGET_STM32F1/can_api.c Mon Jan 16 15:03:32 2017 +0000 @@ -238,6 +238,12 @@ CAN_TypeDef *can = (CAN_TypeDef *)(obj->can); + // check FPM0 which holds the pending message count in FIFO 0 + // if no message is pending, return 0 + if ((can->RF0R & CAN_RF0R_FMP0) == 0) { + return 0; + } + /* Get the Id */ msg->format = (CANFormat)((uint8_t)0x04 & can->sFIFOMailBox[handle].RIR); if (!msg->format) { @@ -264,10 +270,10 @@ /* Release the FIFO */ if(handle == CAN_FIFO0) { /* Release FIFO0 */ - can->RF0R = CAN_RF0R_RFOM0; + can->RF0R |= CAN_RF0R_RFOM0; } else { /* FIFONumber == CAN_FIFO1 */ /* Release FIFO1 */ - can->RF1R = CAN_RF1R_RFOM1; + can->RF1R |= CAN_RF1R_RFOM1; } return 1;