FL-176 LF RFID RX (#248)
* pulldown ibutton pin during rfid read * enable and handle COMP interrupts * send events from comparator IRQ and handle in app * manchester encode * successfully read em4100 * read-emulate * led
This commit is contained in:
@@ -56,6 +56,7 @@ void DebugMon_Handler(void);
|
||||
void EXTI1_IRQHandler(void);
|
||||
void EXTI2_IRQHandler(void);
|
||||
void USB_LP_IRQHandler(void);
|
||||
void COMP_IRQHandler(void);
|
||||
void EXTI9_5_IRQHandler(void);
|
||||
void TIM1_TRG_COM_TIM17_IRQHandler(void);
|
||||
void TIM2_IRQHandler(void);
|
||||
|
@@ -31,14 +31,14 @@ void MX_COMP1_Init(void)
|
||||
{
|
||||
|
||||
hcomp1.Instance = COMP1;
|
||||
hcomp1.Init.InputMinus = COMP_INPUT_MINUS_1_2VREFINT;
|
||||
hcomp1.Init.InputMinus = COMP_INPUT_MINUS_1_4VREFINT;
|
||||
hcomp1.Init.InputPlus = COMP_INPUT_PLUS_IO1;
|
||||
hcomp1.Init.OutputPol = COMP_OUTPUTPOL_NONINVERTED;
|
||||
hcomp1.Init.Hysteresis = COMP_HYSTERESIS_NONE;
|
||||
hcomp1.Init.Hysteresis = COMP_HYSTERESIS_HIGH;
|
||||
hcomp1.Init.BlankingSrce = COMP_BLANKINGSRC_NONE;
|
||||
hcomp1.Init.Mode = COMP_POWERMODE_HIGHSPEED;
|
||||
hcomp1.Init.Mode = COMP_POWERMODE_MEDIUMSPEED;
|
||||
hcomp1.Init.WindowMode = COMP_WINDOWMODE_DISABLE;
|
||||
hcomp1.Init.TriggerMode = COMP_TRIGGERMODE_NONE;
|
||||
hcomp1.Init.TriggerMode = COMP_TRIGGERMODE_IT_RISING_FALLING;
|
||||
if (HAL_COMP_Init(&hcomp1) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
@@ -65,6 +65,9 @@ void HAL_COMP_MspInit(COMP_HandleTypeDef* compHandle)
|
||||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||||
HAL_GPIO_Init(RFID_RF_IN_GPIO_Port, &GPIO_InitStruct);
|
||||
|
||||
/* COMP1 interrupt Init */
|
||||
HAL_NVIC_SetPriority(COMP_IRQn, 5, 0);
|
||||
HAL_NVIC_EnableIRQ(COMP_IRQn);
|
||||
/* USER CODE BEGIN COMP1_MspInit 1 */
|
||||
|
||||
/* USER CODE END COMP1_MspInit 1 */
|
||||
@@ -85,6 +88,8 @@ void HAL_COMP_MspDeInit(COMP_HandleTypeDef* compHandle)
|
||||
*/
|
||||
HAL_GPIO_DeInit(RFID_RF_IN_GPIO_Port, RFID_RF_IN_Pin);
|
||||
|
||||
/* COMP1 interrupt Deinit */
|
||||
HAL_NVIC_DisableIRQ(COMP_IRQn);
|
||||
/* USER CODE BEGIN COMP1_MspDeInit 1 */
|
||||
|
||||
/* USER CODE END COMP1_MspDeInit 1 */
|
||||
|
@@ -19,7 +19,6 @@
|
||||
|
||||
/* Includes ------------------------------------------------------------------*/
|
||||
#include "spi.h"
|
||||
#include "cmsis_os.h"
|
||||
|
||||
/* USER CODE BEGIN 0 */
|
||||
void Enable_SPI(SPI_HandleTypeDef* spi);
|
||||
|
@@ -57,6 +57,7 @@
|
||||
|
||||
/* External variables --------------------------------------------------------*/
|
||||
extern PCD_HandleTypeDef hpcd_USB_FS;
|
||||
extern COMP_HandleTypeDef hcomp1;
|
||||
extern TIM_HandleTypeDef htim1;
|
||||
extern TIM_HandleTypeDef htim2;
|
||||
extern TIM_HandleTypeDef htim17;
|
||||
@@ -206,6 +207,20 @@ void USB_LP_IRQHandler(void)
|
||||
/* USER CODE END USB_LP_IRQn 1 */
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief This function handles COMP1 and COMP2 interrupts through EXTI lines 20 and 21.
|
||||
*/
|
||||
void COMP_IRQHandler(void)
|
||||
{
|
||||
/* USER CODE BEGIN COMP_IRQn 0 */
|
||||
|
||||
/* USER CODE END COMP_IRQn 0 */
|
||||
HAL_COMP_IRQHandler(&hcomp1);
|
||||
/* USER CODE BEGIN COMP_IRQn 1 */
|
||||
|
||||
/* USER CODE END COMP_IRQn 1 */
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief This function handles EXTI line[9:5] interrupts.
|
||||
*/
|
||||
|
@@ -17,8 +17,10 @@ VP_RTC_VS_RTC_Activate.Mode=RTC_Enabled
|
||||
RCC.RTCFreq_Value=32768
|
||||
PA3.GPIOParameters=GPIO_Speed,PinState,GPIO_Label,GPIO_ModeDefaultOutputPP
|
||||
PA6.GPIO_Label=PA6
|
||||
COMP1.Hysteresis=COMP_HYSTERESIS_HIGH
|
||||
PD0.Locked=true
|
||||
PC5.Mode=INP
|
||||
VP_COMP1_VS_VREFINT14.Signal=COMP1_VS_VREFINT14
|
||||
USART1.IPParameters=VirtualMode-Asynchronous
|
||||
PA3.GPIO_Speed=GPIO_SPEED_FREQ_LOW
|
||||
PB13.Signal=TIM1_CH1N
|
||||
@@ -37,6 +39,7 @@ SPI1.Direction=SPI_DIRECTION_2LINES
|
||||
TIM2.IPParameters=Channel-Input_Capture1_from_TI1,ICPolarity_CH1,AutoReloadPreload,Prescaler,Channel-Input_Capture2_from_TI1
|
||||
RCC.APB2TimFreq_Value=64000000
|
||||
PCC.Ble.PowerLevel=Min
|
||||
COMP1.Mode=COMP_POWERMODE_MEDIUMSPEED
|
||||
PB6.Signal=USART1_TX
|
||||
PB6.Mode=Asynchronous
|
||||
SPI1.CalculateBaudRate=4.0 MBits/s
|
||||
@@ -175,7 +178,7 @@ Mcu.Pin50=PB6
|
||||
Mcu.Pin55=VP_FREERTOS_VS_CMSIS_V2
|
||||
Mcu.Pin56=VP_HSEM_VS_HSEM
|
||||
Mcu.Pin53=VP_ADC1_Vref_Input
|
||||
Mcu.Pin54=VP_COMP1_VS_VREFINT12
|
||||
Mcu.Pin54=VP_COMP1_VS_VREFINT14
|
||||
PC6.Locked=true
|
||||
PA9.Signal=I2C1_SCL
|
||||
VP_TIM1_VS_ClockSourceINT.Signal=TIM1_VS_ClockSourceINT
|
||||
@@ -216,6 +219,7 @@ RCC.RNGFreq_Value=32000
|
||||
PC2.GPIOParameters=GPIO_PuPd,GPIO_Label,GPIO_ModeDefaultEXTI
|
||||
VP_ADC1_TempSens_Input.Signal=ADC1_TempSens_Input
|
||||
Mcu.Pin30=PE4
|
||||
NVIC.COMP_IRQn=true\:5\:0\:true\:false\:true\:false\:false\:true
|
||||
PA1.GPIO_Label=LED_RED
|
||||
Mcu.Pin33=PB14
|
||||
Mcu.Pin34=PB15
|
||||
@@ -312,7 +316,6 @@ PA11.Mode=Device
|
||||
PB0.GPIO_Label=DISPLAY_RST
|
||||
VP_RTC_VS_RTC_Calendar.Signal=RTC_VS_RTC_Calendar
|
||||
PB11.GPIO_PuPd=GPIO_PULLUP
|
||||
VP_COMP1_VS_VREFINT12.Signal=COMP1_VS_VREFINT12
|
||||
PC13.GPIO_Label=BUTTON_BACK
|
||||
PB13.GPIO_Label=RFID_OUT
|
||||
PB11.Signal=GPXTI11
|
||||
@@ -401,7 +404,6 @@ PE4.Signal=GPIO_Output
|
||||
PB0.Locked=true
|
||||
FREERTOS.configTOTAL_HEAP_SIZE=40960
|
||||
PC14-OSC32_IN.GPIOParameters=GPIO_Label
|
||||
VP_COMP1_VS_VREFINT12.Mode=VREFINT_12
|
||||
ProjectManager.ProjectName=f3
|
||||
RCC.APB3Freq_Value=16000000
|
||||
PA6.Signal=GPIO_Analog
|
||||
@@ -426,6 +428,7 @@ OSC_IN.GPIO_Label=QUARTZ_32KHZ_IN
|
||||
PC2.GPIO_Label=BUTTON_OK
|
||||
PC14-OSC32_IN.Locked=true
|
||||
PA12.GPIO_Speed=GPIO_SPEED_FREQ_VERY_HIGH
|
||||
COMP1.TriggerMode=COMP_TRIGGERMODE_IT_RISING_FALLING
|
||||
PB15.Locked=true
|
||||
PB3.Locked=true
|
||||
PB4.Signal=SPI1_MISO
|
||||
@@ -463,6 +466,7 @@ PC12.GPIOParameters=GPIO_Speed,PinState,GPIO_Label
|
||||
USART1.VirtualMode-Asynchronous=VM_ASYNC
|
||||
PA13.Signal=SYS_JTMS-SWDIO
|
||||
FREERTOS.configUSE_IDLE_HOOK=1
|
||||
VP_COMP1_VS_VREFINT14.Mode=VREFINT_14
|
||||
PA9.Mode=I2C
|
||||
TIM1.Channel-Output\ Compare1\ CH1N=TIM_CHANNEL_1
|
||||
FREERTOS.configRECORD_STACK_HIGH_ADDRESS=1
|
||||
@@ -492,6 +496,7 @@ TIM16.Period=291
|
||||
NVIC.SavedSystickIrqHandlerGenerated=true
|
||||
RCC.APB2Freq_Value=64000000
|
||||
PC11.PinState=GPIO_PIN_SET
|
||||
COMP1.IPParameters=TriggerMode,Hysteresis,Mode
|
||||
MxCube.Version=6.0.1
|
||||
VP_TIM2_VS_ClockSourceINT.Mode=Internal
|
||||
PC13.GPIOParameters=GPIO_PuPd,GPIO_Label,GPIO_ModeDefaultEXTI
|
||||
|
Reference in New Issue
Block a user