diff --git a/NSPE/WIFI_IOT/bsp/bsp_gd32w51x.c b/NSPE/WIFI_IOT/bsp/bsp_gd32w51x.c index 726b481..d48813e 100644 --- a/NSPE/WIFI_IOT/bsp/bsp_gd32w51x.c +++ b/NSPE/WIFI_IOT/bsp/bsp_gd32w51x.c @@ -735,6 +735,5 @@ void platform_init(void) gdm3210x_fpga_init(); #elif CONFIG_PLATFORM == PLATFORM_ASIC_32W51X gd32w51x_asic_init(); - #endif } diff --git a/NSPE/WIFI_IOT/bsp/drivers/0_Project/IAR_for_Stm8/Uart_PingPong/ebyte/ebyte_port.c b/NSPE/WIFI_IOT/bsp/drivers/0_Project/IAR_for_Stm8/Uart_PingPong/ebyte/ebyte_port.c index eaba0ec..90c78eb 100755 --- a/NSPE/WIFI_IOT/bsp/drivers/0_Project/IAR_for_Stm8/Uart_PingPong/ebyte/ebyte_port.c +++ b/NSPE/WIFI_IOT/bsp/drivers/0_Project/IAR_for_Stm8/Uart_PingPong/ebyte/ebyte_port.c @@ -23,6 +23,7 @@ /*= !!!配置目标硬件平台头文件 =======================================*/ #include "board.h" //E15-EVB02 评估板 +#include "wrapper_os.h" /*==================================================================*/ /* ! @@ -77,22 +78,20 @@ void Ebyte_Port_SpiCsIoControl( uint8e_t cmd ) void Ebyte_Port_DelayMs( uint16e_t time ) { /* !必须提供: 延时函数 */ - - uint16e_t i,n; - - while(time--)//这里示范了STM8L 16M时钟前提下的粗略软件延时 - { - for(i=900;i>0;i--) - { - for( n=1 ;n>0 ;n--) { - __NOP(); - __NOP(); - __NOP(); - __NOP(); - } - } - } + sys_ms_sleep(time); } +/* ! + * @brief 配置目标硬件平台延时函数 + * + * @param time 期望延时毫秒 + * @note 请注意时序,模块初始化时将调用此函数,请注意中断是否会影响到此函数 + */ +void Ebyte_Port_DelayUs( uint16e_t time ) +{ + /* !必须提供: 延时函数 */ + sys_us_delay(time); +} + diff --git a/NSPE/WIFI_IOT/bsp/drivers/0_Project/IAR_for_Stm8/Uart_PingPong/ebyte/ebyte_port.h b/NSPE/WIFI_IOT/bsp/drivers/0_Project/IAR_for_Stm8/Uart_PingPong/ebyte/ebyte_port.h index c140b8c..0ee4aea 100755 --- a/NSPE/WIFI_IOT/bsp/drivers/0_Project/IAR_for_Stm8/Uart_PingPong/ebyte/ebyte_port.h +++ b/NSPE/WIFI_IOT/bsp/drivers/0_Project/IAR_for_Stm8/Uart_PingPong/ebyte/ebyte_port.h @@ -24,6 +24,7 @@ void Ebyte_Port_RstIoControl( uint8e_t cmd ); void Ebyte_Port_TxenIoControl( uint8e_t cmd ); void Ebyte_Port_RxenIoControl( uint8e_t cmd ); void Ebyte_Port_DelayMs( uint16e_t time ); +void Ebyte_Port_DelayUs( uint16e_t time ); void Ebyte_Port_SpiCsIoControl( uint8e_t cmd ); uint8e_t Ebyte_Port_BusyIoRead( void ); diff --git a/NSPE/WIFI_IOT/bsp/drivers/0_Project/IAR_for_Stm8/Uart_PingPong/main.c b/NSPE/WIFI_IOT/bsp/drivers/0_Project/IAR_for_Stm8/Uart_PingPong/main.c index 2cb7be0..4892e5c 100755 --- a/NSPE/WIFI_IOT/bsp/drivers/0_Project/IAR_for_Stm8/Uart_PingPong/main.c +++ b/NSPE/WIFI_IOT/bsp/drivers/0_Project/IAR_for_Stm8/Uart_PingPong/main.c @@ -61,9 +61,9 @@ int ebyte_main( void ) /* 板载硬件资源 初始化 */ Ebyte_BSP_Init(); /* (可选) 串口中断接收FIFO 可根据需要自行处理 */ -// Ebyte_FIFO_Init( &hfifo, EBYTE_FIFO_SIZE ); + Ebyte_FIFO_Init( &hfifo, EBYTE_FIFO_SIZE ); /* EBYTE 无线模块初始化 */ -// Ebyte_RF.Init(); + Ebyte_RF.Init(); /* 启用无线模块接收 */ // Ebyte_RF.EnterReceiveMode( 0 ); /* MCU 开全局中断 */ diff --git a/NSPE/WIFI_IOT/bsp/drivers/2_Ebyte_Board_Support/E15-EVB02/board.c b/NSPE/WIFI_IOT/bsp/drivers/2_Ebyte_Board_Support/E15-EVB02/board.c index 200c9ff..aa034b1 100755 --- a/NSPE/WIFI_IOT/bsp/drivers/2_Ebyte_Board_Support/E15-EVB02/board.c +++ b/NSPE/WIFI_IOT/bsp/drivers/2_Ebyte_Board_Support/E15-EVB02/board.c @@ -118,11 +118,17 @@ void Ebyte_BSP_SPI_Init( void ) /* 时钟 */ rcu_periph_clock_enable(BSP_RF_SPI_CLOCK); - - /* GPIO */ rcu_periph_clock_enable(BSP_GPIO_RCU_E48_SPI); - gpio_mode_set(BSP_GPIO_PORT_SPI_NSS, GPIO_MODE_OUTPUT, GPIO_PUPD_PULLUP, BSP_GPIO_PIN_SPI_NSS); //片选 CS - gpio_output_options_set(BSP_GPIO_PORT_SPI_NSS, GPIO_OTYPE_PP, GPIO_OSPEED_25MHZ, BSP_GPIO_PIN_SPI_NSS); + + /* SPI1 GPIO config: SCK/PB13, MISO/PB14, MOSI/PB15 */ + gpio_af_set(BSP_GPIO_PORT_SPI, GPIO_AF_5, GPIO_PIN_13 | GPIO_PIN_14 | GPIO_PIN_15); + gpio_mode_set(BSP_GPIO_PORT_SPI, GPIO_MODE_AF, GPIO_PUPD_NONE, GPIO_PIN_13 | GPIO_PIN_14 | GPIO_PIN_15); + gpio_output_options_set(BSP_GPIO_PORT_SPI, GPIO_OTYPE_PP, GPIO_OSPEED_10MHZ, GPIO_PIN_13 | GPIO_PIN_14 | GPIO_PIN_15); + + /* SPI0_NSS */ + gpio_mode_set(BSP_GPIO_PORT_SPI, GPIO_MODE_OUTPUT, GPIO_PUPD_PULLUP, BSP_GPIO_PIN_SPI_NSS); //片选 CS + gpio_output_options_set(BSP_GPIO_PORT_SPI, GPIO_OTYPE_PP, GPIO_OSPEED_25MHZ, BSP_GPIO_PIN_SPI_NSS); + // GPIO_ExternalPullUpConfig( BSP_GPIO_PORT_SPI_SCK, BSP_GPIO_PIN_SPI_MOSI | BSP_GPIO_PIN_SPI_MISO | BSP_GPIO_PIN_SPI_SCK, ENABLE); // MOSI MISO SCK /* 参数配置 */ @@ -149,6 +155,12 @@ void Ebyte_BSP_SPI_Init( void ) */ uint8_t Ebyte_BSP_SpiTransAndRecv( uint8_t data ) { + while(RESET == spi_i2s_flag_get(BSP_RF_SPI, SPI_FLAG_TBE)); + spi_i2s_data_transmit(BSP_RF_SPI, data); + + while(RESET == spi_i2s_flag_get(BSP_RF_SPI, SPI_FLAG_RBNE)); + return spi_i2s_data_receive(BSP_RF_SPI); + // BSP_RF_SPI->DR = data; // while ((BSP_RF_SPI->SR & SPI_FLAG_TXE) == RESET); // diff --git a/NSPE/WIFI_IOT/bsp/drivers/2_Ebyte_Board_Support/E15-EVB02/board.h b/NSPE/WIFI_IOT/bsp/drivers/2_Ebyte_Board_Support/E15-EVB02/board.h index f6b8ca6..ee21a69 100755 --- a/NSPE/WIFI_IOT/bsp/drivers/2_Ebyte_Board_Support/E15-EVB02/board.h +++ b/NSPE/WIFI_IOT/bsp/drivers/2_Ebyte_Board_Support/E15-EVB02/board.h @@ -44,19 +44,13 @@ //#define BSP_GPIO_PIN_BUTTON_2 GPIO_PIN_5 /* 引脚配置 SPI通信接口 */ -#define BSP_GPIO_RCU_E48_SPI RCU_GPIOB +#define BSP_GPIO_RCU_E48_SPI RCU_GPIOB -#define BSP_GPIO_PORT_SPI_NSS GPIOB +#define BSP_GPIO_PORT_SPI GPIOB #define BSP_GPIO_PIN_SPI_NSS GPIO_PIN_12 - -//#define BSP_GPIO_PORT_SPI_MOSI GPIOB -//#define BSP_GPIO_PIN_SPI_MOSI GPIO_PIN_6 -// -//#define BSP_GPIO_PORT_SPI_MISO GPIOB -//#define BSP_GPIO_PIN_SPI_MISO GPIO_PIN_7 -// -//#define BSP_GPIO_PORT_SPI_SCK GPIOB -//#define BSP_GPIO_PIN_SPI_SCK GPIO_PIN_5 +#define BSP_GPIO_PIN_SPI_SCK GPIO_PIN_13 +#define BSP_GPIO_PIN_SPI_MISO GPIO_PIN_14 +#define BSP_GPIO_PIN_SPI_MOSI GPIO_PIN_15 /* 引脚配置 通信串口 */ #define BSP_GPIO_PORT_UART_TX GPIOA @@ -85,8 +79,8 @@ /* 参数配置 SPI */ #define BSP_RF_SPI SPI1 #define BSP_RF_SPI_CLOCK RCU_SPI1 -#define Ebyte_BSP_RfSpiSelected() gpio_bit_write( BSP_GPIO_PORT_SPI_NSS , BSP_GPIO_PIN_SPI_NSS, RESET ) -#define Ebyte_BSP_RfSpiUnselected() gpio_bit_write( BSP_GPIO_PORT_SPI_NSS , BSP_GPIO_PIN_SPI_NSS, SET ) +#define Ebyte_BSP_RfSpiSelected() gpio_bit_write( BSP_GPIO_PORT_SPI, BSP_GPIO_PIN_SPI_NSS, RESET ) +#define Ebyte_BSP_RfSpiUnselected() gpio_bit_write( BSP_GPIO_PORT_SPI, BSP_GPIO_PIN_SPI_NSS, SET ) /* 配置 Timer */ #define BSP_RF_TIMER TIMER2 diff --git a/NSPE/WIFI_IOT/bsp/drivers/3_Ebyte_WirelessModule_Drivers/E48xMx/ebyte_e48x.c b/NSPE/WIFI_IOT/bsp/drivers/3_Ebyte_WirelessModule_Drivers/E48xMx/ebyte_e48x.c index eba44b4..79683a4 100755 --- a/NSPE/WIFI_IOT/bsp/drivers/3_Ebyte_WirelessModule_Drivers/E48xMx/ebyte_e48x.c +++ b/NSPE/WIFI_IOT/bsp/drivers/3_Ebyte_WirelessModule_Drivers/E48xMx/ebyte_e48x.c @@ -28,8 +28,8 @@ uint8_t radio_rece_data_flag; void Ebyte_E48x_Init( void ) { - vRadioCheckLink(); - vRadioInit(); + vRadioCheckLink(); + vRadioInit(); } void Ebyte_E48x_SendPayload( uint8_t *payload, uint8_t size, uint32_t timeout ) diff --git a/NSPE/WIFI_IOT/bsp/drivers/3_Ebyte_WirelessModule_Drivers/E48xMx/radio_hal.c b/NSPE/WIFI_IOT/bsp/drivers/3_Ebyte_WirelessModule_Drivers/E48xMx/radio_hal.c index 71a8235..976403f 100755 --- a/NSPE/WIFI_IOT/bsp/drivers/3_Ebyte_WirelessModule_Drivers/E48xMx/radio_hal.c +++ b/NSPE/WIFI_IOT/bsp/drivers/3_Ebyte_WirelessModule_Drivers/E48xMx/radio_hal.c @@ -7,13 +7,7 @@ void delay1ms(uint16_t cnt) void delay10us(uint32_t cnt) { - uint8_t i; - - while( cnt-- ) { - i = 20; - while(i--) - __NOP(); - } + Ebyte_Port_DelayUs(cnt * 10); } /******************************