From 7a54c0d5730cb2d02229c0ce515bc100bf211079 Mon Sep 17 00:00:00 2001 From: QuakeGod <QuakeGod@sina.com> Date: 星期一, 17 十月 2022 20:42:45 +0800 Subject: [PATCH] arrange again radio fp0 klink knet --- Src/BSP.c | 110 +++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 75 insertions(+), 35 deletions(-) diff --git a/Src/BSP.c b/Src/BSP.c index 34a69bd..f2e255c 100644 --- a/Src/BSP.c +++ b/Src/BSP.c @@ -12,6 +12,9 @@ #include "Globaldef.h" #include "Functions.h" +#if (BOARD_TYPE == 14) +#include "fp0.h" +#endif /* if ((nCurTick &0xff) ==0) @@ -367,35 +370,12 @@ /* SPI1 interrupt Init */ NVIC_SetPriority(SPI1_IRQn, 0); - NVIC_EnableIRQ(SPI1_IRQn); +// NVIC_EnableIRQ(SPI1_IRQn); /* USER CODE BEGIN SPI1_Init 1 */ -#if (BOARD_TYPE == 14) +#if (BOARD_TYPE == 13) - /* USER CODE END SPI1_Init 1 */ - - /* SPI1 parameter configuration*/ - SPI_InitStruct.TransferDirection = LL_SPI_FULL_DUPLEX; - SPI_InitStruct.Mode = LL_SPI_MODE_SLAVE; - SPI_InitStruct.DataWidth = LL_SPI_DATAWIDTH_8BIT; - SPI_InitStruct.ClockPolarity = LL_SPI_POLARITY_LOW; //LL_SPI_POLARITY_LOW; - SPI_InitStruct.ClockPhase = LL_SPI_PHASE_2EDGE ; //LL_SPI_PHASE_1EDGE; - SPI_InitStruct.NSS = LL_SPI_NSS_SOFT; - SPI_InitStruct.BaudRate = LL_SPI_BAUDRATEPRESCALER_DIV4; - SPI_InitStruct.BitOrder = LL_SPI_LSB_FIRST; - SPI_InitStruct.CRCCalculation = LL_SPI_CRCCALCULATION_DISABLE; - SPI_InitStruct.CRCPoly = 7; - LL_SPI_Init(SPI1, &SPI_InitStruct); - - LL_SPI_SetStandard(SPI1, LL_SPI_PROTOCOL_MOTOROLA); - LL_SPI_DisableNSSPulseMgt(SPI1); - LL_SPI_SetRxFIFOThreshold(SPI1,LL_SPI_RX_FIFO_TH_QUARTER); -// LL_SPI_EnableNSSPulseMgt(SPI1); - - /* USER CODE BEGIN SPI1_Init 2 */ - -#elif (BOARD_TYPE == 13) - + NVIC_EnableIRQ(SPI1_IRQn); SPI_InitStruct.TransferDirection = LL_SPI_FULL_DUPLEX; SPI_InitStruct.Mode = LL_SPI_MODE_MASTER; SPI_InitStruct.DataWidth = LL_SPI_DATAWIDTH_8BIT; @@ -413,8 +393,31 @@ LL_SPI_SetRxFIFOThreshold(SPI1,LL_SPI_RX_FIFO_TH_QUARTER); // LL_SPI_EnableNSSPulseMgt(SPI1); +#elif (BOARD_TYPE == 14) + + NVIC_EnableIRQ(SPI1_IRQn); + SPI_InitStruct.TransferDirection = LL_SPI_FULL_DUPLEX; + SPI_InitStruct.Mode = LL_SPI_MODE_SLAVE; + SPI_InitStruct.DataWidth = LL_SPI_DATAWIDTH_8BIT; + SPI_InitStruct.ClockPolarity = LL_SPI_POLARITY_LOW; //LL_SPI_POLARITY_LOW; + SPI_InitStruct.ClockPhase = LL_SPI_PHASE_2EDGE ; //LL_SPI_PHASE_1EDGE; + SPI_InitStruct.NSS = LL_SPI_NSS_SOFT; + SPI_InitStruct.BaudRate = LL_SPI_BAUDRATEPRESCALER_DIV4; + SPI_InitStruct.BitOrder = LL_SPI_LSB_FIRST; + SPI_InitStruct.CRCCalculation = LL_SPI_CRCCALCULATION_DISABLE; + SPI_InitStruct.CRCPoly = 7; + LL_SPI_Init(SPI1, &SPI_InitStruct); + + LL_SPI_SetStandard(SPI1, LL_SPI_PROTOCOL_MOTOROLA); + LL_SPI_DisableNSSPulseMgt(SPI1); + LL_SPI_SetRxFIFOThreshold(SPI1,LL_SPI_RX_FIFO_TH_QUARTER); +// LL_SPI_EnableNSSPulseMgt(SPI1); + #else + /* USER CODE END SPI1_Init 1 */ + + /* SPI1 parameter configuration*/ SPI_InitStruct.TransferDirection = LL_SPI_FULL_DUPLEX; SPI_InitStruct.Mode = LL_SPI_MODE_MASTER; SPI_InitStruct.DataWidth = LL_SPI_DATAWIDTH_8BIT; @@ -428,9 +431,11 @@ LL_SPI_Init(SPI1, &SPI_InitStruct); LL_SPI_SetStandard(SPI1, LL_SPI_PROTOCOL_MOTOROLA); - + LL_SPI_SetRxFIFOThreshold(SPI1,LL_SPI_RX_FIFO_TH_QUARTER); - LL_SPI_EnableNSSPulseMgt(SPI1); +// LL_SPI_EnableNSSPulseMgt(SPI1); + + /* USER CODE BEGIN SPI1_Init 2 */ #endif @@ -727,7 +732,7 @@ LL_GPIO_PIN_12|LL_GPIO_PIN_13|LL_GPIO_PIN_15; } - else if (GetBoardType()==9 || GetBoardType()==10 ) + else if (GetBoardType()==9 || GetBoardType()==10 || GetBoardType()==15 ) { GPIO_InitStruct.Pin = LL_GPIO_PIN_3|LL_GPIO_PIN_5|LL_GPIO_PIN_6|LL_GPIO_PIN_7| LL_GPIO_PIN_11|LL_GPIO_PIN_1|LL_GPIO_PIN_2|LL_GPIO_PIN_10| @@ -765,8 +770,16 @@ // PWR_BackupAccessCmd( ENABLE );/* ????RTC??????*/ // RCC_LSEConfig( RCC_LSE_OFF ); /* ????????,PC14+PC15??????IO*/ // BKP_TamperPinCmd(DISABLE); /* ????????,PC13??????IO*/ - -#if (BORAD_TYPE ==12) + +#if (BORAD_TYPE == 13) + + GPIO_InitStruct.Pin = LL_GPIO_PIN_15 ; + GPIO_InitStruct.Mode = LL_GPIO_MODE_OUTPUT; + GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_HIGH; + GPIO_InitStruct.Pull = LL_GPIO_OUTPUT_PUSHPULL; + LL_GPIO_Init(GPIOA, &GPIO_InitStruct); + +#elif (BOARD_TYPE == 14) GPIO_InitStruct.Pin = LL_GPIO_PIN_4|LL_GPIO_PIN_5|LL_GPIO_PIN_6|LL_GPIO_PIN_7; GPIO_InitStruct.Mode = LL_GPIO_MODE_INPUT; @@ -805,13 +818,40 @@ GPIO_InitStruct.Pull = LL_GPIO_PULL_UP; LL_GPIO_Init(OE_PORT, &GPIO_InitStruct); -#elif (BOARD_TYPE == 13) +#elif (BOARD_TYPE == 15) - GPIO_InitStruct.Pin = LL_GPIO_PIN_15 ; - GPIO_InitStruct.Mode = LL_GPIO_MODE_OUTPUT; + // Radio Pins + // busy pin + GPIO_InitStruct.Pin = LL_GPIO_PIN_7; + GPIO_InitStruct.Mode = LL_GPIO_MODE_INPUT; GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_HIGH; - GPIO_InitStruct.Pull = LL_GPIO_OUTPUT_PUSHPULL; + GPIO_InitStruct.Pull = LL_GPIO_PULL_UP; + LL_GPIO_Init(GPIOB, &GPIO_InitStruct); + + // Dio 1 pin + GPIO_InitStruct.Pin = LL_GPIO_PIN_12; + GPIO_InitStruct.Mode = LL_GPIO_MODE_INPUT; + GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_HIGH; + GPIO_InitStruct.Pull = LL_GPIO_PULL_UP; LL_GPIO_Init(GPIOA, &GPIO_InitStruct); + + + //Sel pin + GPIO_InitStruct.Pin = LL_GPIO_PIN_15; + GPIO_InitStruct.Mode = LL_GPIO_MODE_OUTPUT; + GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_HIGH; + GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; + GPIO_InitStruct.Pull = LL_GPIO_PULL_NO; + LL_GPIO_Init(GPIOA, &GPIO_InitStruct); + + + //RST pin + GPIO_InitStruct.Pin = LL_GPIO_PIN_6; + GPIO_InitStruct.Mode = LL_GPIO_MODE_OUTPUT; + GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_HIGH; + GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL; + GPIO_InitStruct.Pull = LL_GPIO_PULL_NO; + LL_GPIO_Init(GPIOB, &GPIO_InitStruct); #endif -- Gitblit v1.9.1