#include "LT89xx.h" #include "LT89xx_port.h" #include "LT89xx_cfg.h" #include "spi.h" #include #include "string.h" #define WRITE 0x00 #define READ 0x80 #define dummy_data 0xFF static void Init_LT89_Port(void); static void RST_LT89XX(void); static uint8_t bCheckRadioConnection(void); static uint8_t bConnected = false; /** * @brief 初始化LT89xx * * 初始化LT89xx相关配置,包括端口初始化、复位操作以及寄存器配置等。 */ void InitLT89xx(void) { uint8_t KPT = 0; uint8_t len = 0; uint8_t i = 0; Init_LT89_Port(); RST_LT89XX(); //EXTI_SetExtInt1xTriggerMode(INT16, EXTI_TRIGGER_RISE_ONLY); // //EXTI_ITConfig(INT1, ENABLE, LOW); // len = sizeof(LT89xx_cfg)/sizeof(LT89XX_CFG); #if EN_REG_FEED memset(LT89xx_cfg_default,0,sizeof(LT89xx_cfg_default)); #endif for(i=0;i>8)&0xFF; uint8_t RegL = Reg&0xFF; LT_WriteReg(reg,RegH,RegL); } //---------------------------------------------------------------------------- void LT_WriteReg(uint8_t reg, uint8_t RegH, uint8_t RegL) { uint8_t v1,v2,v3; CS_LOW(); Delay10us(); v1 = spiReadWrite(WRITE| reg); v2 = spiReadWrite(RegH); v3 = spiReadWrite(RegL); //printf("Write Register %02d 0x%02x 0x%02x 0x%02x\r\n",reg,reg,RegH,RegL); CS_HIGH(); Delay10us(); UNUSED_PARAM(v1); UNUSED_PARAM(v2); UNUSED_PARAM(v3); _nop_(); } void LT_WriteBuf(uint8_t reg, uint8_t *pBuf, uint8_t len) { uint8_t i; CS_LOW(); spiReadWrite(WRITE |reg); //Read MSB.7=0; spiReadWrite(len); //Lenth //printf("Write Buffer %02d 0x%02x Buffer len = 0x%02d\r\n",reg,reg,len); for(i=0; i63) len=63; for(i=0; i