#include "lt89xx.h" #include "lt89xx_cfg.h" #include "spi.h" #include "pt_timer.h" #include #define WRITE 0x00 #define READ 0x80 #define dummy_data 0xFF static uint8_t Get_KPT(void); static void Init_LT68XX_Port(void); static void RST_LT68XX(void); static uint8_t bCheckRadioConnection(void); static XDATA uint8_t bConnected = false; void InitLT68xx(void) { uint8_t KPT = 0; uint8_t len = 0; uint8_t i = 0; Init_LT68XX_Port(); RST_LT68XX(); delay_ms(1400); //EXTI_SetExtInt1xTriggerMode(INT16, EXTI_TRIGGER_RISE_ONLY); // //EXTI_ITConfig(INT1, ENABLE, LOW); // len = sizeof(lt68xx_cfg)/sizeof(LT68XX_CFG); for(i=0;i>8); uint8_t RegL = (uint8_t)(lt68xx_cfg[i].RegValue&0xFF); _nop_(); LT_WriteReg(addr,RegH,RegL); _nop_(); } delay_ms(500); len = sizeof(lt68xx_cfg1)/sizeof(LT68XX_CFG); for(i=0;i>8); uint8_t RegL = (uint8_t)(lt68xx_cfg1[i].RegValue&0xFF); _nop_(); LT_WriteReg(addr,RegH,RegL); _nop_(); } bConnected = bCheckRadioConnection(); _nop_(); //while(KPT==0) { _nop_(); KPT = Get_KPT(); } if(Get_KPT()) { _nop_(); } } //---------------------------------------------------------------------------- void LT_Readreg(unsigned char reg,unsigned char *RegH,unsigned char *RegL ) { uint8_t RegH1; uint8_t RegL1; CS_LOW(); spiReadWrite(READ | reg); RegH1 = spiReadWrite(dummy_data); RegL1 = spiReadWrite(dummy_data); *RegH = RegH1; *RegL = RegL1; CS_HIGH(); _nop_(); } uint16_t LT_ReadReg2(uint8_t reg) { uint8_t RegH; uint8_t RegL; uint16_t regValue = 0; LT_Readreg(reg,&RegH,&RegL); regValue = RegH; regValue <<= 8; regValue |= RegL; return regValue; } //---------------------------------------------------------------------------- void LT_WriteReg(unsigned char reg, unsigned char RegH, unsigned char RegL) { unsigned char v1,v2,v3; CS_LOW(); //Delay10us(); v1 = spiReadWrite(WRITE| reg); Delay10us(); v2 = spiReadWrite(RegH); Delay10us(); v3 = spiReadWrite(RegL); CS_HIGH(); Delay10us(); _nop_(); } void LT_WriteBuf(unsigned char reg, unsigned char *pBuf, unsigned char len) { unsigned char i; CS_LOW(); spiReadWrite(READ|reg); //Read MSB.7=0; spiReadWrite(len); //Lenth for(i=0; i63) len=63; for(i=0; i