diff --git a/MBL/source_ns/drivers/CMT2310/0_Project/Uart_PingPong/ebyte/ebyte_callback.c b/MBL/source_ns/drivers/CMT2310/0_Project/Uart_PingPong/ebyte/ebyte_callback.c index ea03e06..25032eb 100755 --- a/MBL/source_ns/drivers/CMT2310/0_Project/Uart_PingPong/ebyte/ebyte_callback.c +++ b/MBL/source_ns/drivers/CMT2310/0_Project/Uart_PingPong/ebyte/ebyte_callback.c @@ -73,7 +73,7 @@ void Ebyte_Port_ReceiveCallback( uint16_t state, uint8_t *buffer, uint8_t lengt { uint8_t j, pcEchoLength; uint8_t *p; - int8_t rx_data[32] = {0}; + uint8_t rx_data[32] = {0}; /* 接收: 正常 */ if( state &= 0x0002 ) { @@ -115,7 +115,7 @@ void Ebyte_Port_ReceiveCallback( uint16_t state, uint8_t *buffer, uint8_t lengt if( ! PC_isConnected ) { is_jump_main = 1; snprintf(rx_data, sizeof(rx_data), "%s", buffer); - EBYTE_LOG("\r\n Receive Data: %s", rx_data); + EBYTE_LOG(" Receive Data: %s\r\n", rx_data); } Ebyte_BSP_LedControl( BSP_LED_1, OFF ); diff --git a/MBL/source_ns/drivers/CMT2310/0_Project/Uart_PingPong/ebyte/ebyte_core.c b/MBL/source_ns/drivers/CMT2310/0_Project/Uart_PingPong/ebyte/ebyte_core.c index 4e0fb91..c9b6a3a 100755 --- a/MBL/source_ns/drivers/CMT2310/0_Project/Uart_PingPong/ebyte/ebyte_core.c +++ b/MBL/source_ns/drivers/CMT2310/0_Project/Uart_PingPong/ebyte/ebyte_core.c @@ -1,20 +1,20 @@ /** ********************************************************************************** * @file ebyte_core.c - * @brief EBYTE驱动库的上层API封装层 帮助客户抽象底层逻辑 - * @details 详情请参见 https://www.ebyte.com/ - * @author JiangHeng - * @date 2021-05-13 - * @version 1.0.0 + * @brief EBYTE驱动库的上层API封装层 帮助客户抽象底层逻辑 + * @details 详情请参见 https://www.ebyte.com/ + * @author JiangHeng + * @date 2021-05-13 + * @version 1.0.0 ********************************************************************************** - * @copyright BSD License - * 成都亿佰特电子科技有限公司 - * ______ ____ __ __ _______ ______ + * @copyright BSD License + * 成都亿佰特电子科技有限公司 + * ______ ____ __ __ _______ ______ * | ____| | _ \ \ \ / / |__ __| | ____| - * | |__ | |_) | \ \_/ / | | | |__ - * | __| | _ < \ / | | | __| - * | |____ | |_) | | | | | | |____ - * |______| |____/ |_| |_| |______| + * | |__ | |_) | \ \_/ / | | | |__ + * | __| | _ < \ / | | | __| + * | |____ | |_) | | | | | | |____ + * |______| |____/ |_| |_| |______| * ********************************************************************************** */ @@ -29,8 +29,9 @@ const Ebyte_RF_t Ebyte_RF = { Ebyte_E48x_Init, Ebyte_E48x_SendPayload, + Ebyte_E48x_SetStandby, Ebyte_E48x_SetSleep, - Ebyte_E48x_SetRx, + Ebyte_E48x_SetRx, Ebyte_E48x_IntOrPollTask, Ebyte_E48x_InterruptTrigger, Ebyte_E48x_GetName, diff --git a/MBL/source_ns/drivers/CMT2310/0_Project/Uart_PingPong/ebyte/ebyte_core.h b/MBL/source_ns/drivers/CMT2310/0_Project/Uart_PingPong/ebyte/ebyte_core.h index 5875798..2709e1f 100755 --- a/MBL/source_ns/drivers/CMT2310/0_Project/Uart_PingPong/ebyte/ebyte_core.h +++ b/MBL/source_ns/drivers/CMT2310/0_Project/Uart_PingPong/ebyte/ebyte_core.h @@ -32,6 +32,7 @@ typedef struct { void ( *Init )( void ); void ( *Send )( uint8e_t *buffer, uint8e_t size , uint32e_t timeout); + void ( *EnterStandby )( uint8e_t command); void ( *EnterSleepMode )( uint8e_t command); void ( *EnterReceiveMode )( uint32e_t timeout ); void ( *StartPollTask)( void ); diff --git a/MBL/source_ns/drivers/CMT2310/0_Project/Uart_PingPong/main.c b/MBL/source_ns/drivers/CMT2310/0_Project/Uart_PingPong/main.c index f920ff0..fa51145 100755 --- a/MBL/source_ns/drivers/CMT2310/0_Project/Uart_PingPong/main.c +++ b/MBL/source_ns/drivers/CMT2310/0_Project/Uart_PingPong/main.c @@ -69,8 +69,6 @@ int ebyte_main( void ) Ebyte_RF.Init(); /* 启用无线模块接收 */ Ebyte_RF.EnterReceiveMode( 0 ); - /* MCU 开全局中断 */ -// Ebyte_BSP_GlobalIntEnable(); EBYTE_LOG( "Start PingPong.....\r\n" ); EBYTE_LOG( "Please push button1 or button2.....\r\n" ); @@ -88,7 +86,8 @@ int ebyte_main( void ) delay_1ms(100); } - Ebyte_BSP_GlobalIntDisable(); + Ebyte_RF.EnterStandby(0); + Ebyte_BSP_Deinit(); systick_deinit(); } @@ -147,7 +146,7 @@ void Task_Transmit( void ) { pongLength = 5; }else{ - EBYTE_LOG( "\r\n Echo : pong \r\n" ); + EBYTE_LOG( " Echo : pong \r\n" ); pongLength = 4; } diff --git a/MBL/source_ns/drivers/CMT2310/3_Ebyte_WirelessModule_Drivers/E48xMx/ebyte_e48x.c b/MBL/source_ns/drivers/CMT2310/3_Ebyte_WirelessModule_Drivers/E48xMx/ebyte_e48x.c index 8d88642..8ab65ea 100755 --- a/MBL/source_ns/drivers/CMT2310/3_Ebyte_WirelessModule_Drivers/E48xMx/ebyte_e48x.c +++ b/MBL/source_ns/drivers/CMT2310/3_Ebyte_WirelessModule_Drivers/E48xMx/ebyte_e48x.c @@ -64,6 +64,11 @@ void Ebyte_E48x_SetRx( uint32_t timeout ) vRadioReceive(); } +void Ebyte_E48x_SetStandby( uint8_t cmd ) +{ + vRadioStandby(); +} + void Ebyte_E48x_SetSleep( uint8_t cmd ) { return; diff --git a/MBL/source_ns/drivers/CMT2310/3_Ebyte_WirelessModule_Drivers/E48xMx/ebyte_e48x.h b/MBL/source_ns/drivers/CMT2310/3_Ebyte_WirelessModule_Drivers/E48xMx/ebyte_e48x.h index 4f4e886..d7a83ab 100755 --- a/MBL/source_ns/drivers/CMT2310/3_Ebyte_WirelessModule_Drivers/E48xMx/ebyte_e48x.h +++ b/MBL/source_ns/drivers/CMT2310/3_Ebyte_WirelessModule_Drivers/E48xMx/ebyte_e48x.h @@ -14,6 +14,7 @@ void Ebyte_E48x_Init( void ); void Ebyte_E48x_SendPayload( uint8_t *payload, uint8_t size, uint32_t timeout ); void Ebyte_E48x_SetRx( uint32_t timeout ); void Ebyte_E48x_SetSleep( uint8_t cmd ); +void Ebyte_E48x_SetStandby( uint8_t cmd ); void Ebyte_E48x_IntOrPollTask( void ); void Ebyte_E48x_InterruptTrigger( void ); uint32_t Ebyte_E48x_GetName(void); diff --git a/MBL/source_ns/drivers/CMT2310/3_Ebyte_WirelessModule_Drivers/E48xMx/radio.c b/MBL/source_ns/drivers/CMT2310/3_Ebyte_WirelessModule_Drivers/E48xMx/radio.c index 1aa38bb..f8ad1b1 100755 --- a/MBL/source_ns/drivers/CMT2310/3_Ebyte_WirelessModule_Drivers/E48xMx/radio.c +++ b/MBL/source_ns/drivers/CMT2310/3_Ebyte_WirelessModule_Drivers/E48xMx/radio.c @@ -360,6 +360,14 @@ void vRadioTransmit(uint8_t* buffer, uint8_t length ) vRadioReceive(); } +void vRadioStandby( void ) +{ + bRadioGoStandby(); + vRadioClearTxFifo(); + vRadioClearRxFifo(); + vRadioClearInterrupt(); +} + uint8_t vRadioGetPacket(uint8_t *buffer,uint8_t *length) { uint8_t rx_length; diff --git a/MBL/source_ns/drivers/CMT2310/3_Ebyte_WirelessModule_Drivers/E48xMx/radio.h b/MBL/source_ns/drivers/CMT2310/3_Ebyte_WirelessModule_Drivers/E48xMx/radio.h index 5d05cbe..a8e9a95 100755 --- a/MBL/source_ns/drivers/CMT2310/3_Ebyte_WirelessModule_Drivers/E48xMx/radio.h +++ b/MBL/source_ns/drivers/CMT2310/3_Ebyte_WirelessModule_Drivers/E48xMx/radio.h @@ -26,8 +26,9 @@ extern void vRadioGoRxInit( void ); extern void vRadioTransmit(uint8_t* buffer, uint8_t length ); extern void vRadioReceive(void); -extern uint8_t vRadioGetPacket(uint8_t *buffer,uint8_t *length); +extern void vRadioStandby(void); +extern uint8_t vRadioGetPacket(uint8_t *buffer,uint8_t *length); extern void vRadioCheckLink(void);