标题:
MSP430成功驱动SX1278模块 时钟+阶梯价+SLE4442+AD电压检测程序
[打印本页]
作者:
HXHNTTXLLA
时间:
2019-2-28 16:31
标题:
MSP430成功驱动SX1278模块 时钟+阶梯价+SLE4442+AD电压检测程序
MSP430成功驱动SX1278模块的代码工程
0.png
(11.42 KB, 下载次数: 96)
下载附件
2019-2-28 18:53 上传
单片机源程序如下:
#include "Typedef.h"
#if defined( USE_SX1276_RADIO )
#include "sx1276.h"
#include "sx1276-Hal.h"
#include "sx1276-LoRa.h"
U8 RegOpModed;
void SX1276Init( void )
{
RESET_OUT();
SDI_OUT();
SDO_IN();
SCK_OUT();
SEL_OUT();
SX1276Reset( );
SX1276Read(REG_LR_VERSION,&RegOpModed);
SX1276SetLoRaOn();
// Initialize LoRa modem
SX1276LoRaInit();
}
void SX1276Reset( void )
{
U16 i;
SX1276SetReset( RADIO_RESET_ON );
for(i = 0 ; i < 1000; i++);
for(i = 0 ; i < 1000; i++);
// Wait 1ms
//Delayms(1);
SX1276SetReset( RADIO_RESET_OFF );
for(i = 0 ; i < 6000; i++);
for(i = 0 ; i < 6000; i++);
// Delayms(6);
}
void SX1276SetLoRaOn(void)
{
U8 RegOpMode;
U8 RegDioMapping1,RegDioMapping2;
SX1276LoRaSetOpMode( RFLR_OPMODE_SLEEP );
SX1276Read(REG_LR_OPMODE,&RegOpMode);
RegOpMode = (RegOpMode & RFLR_OPMODE_LONGRANGEMODE_MASK ) | RFLR_OPMODE_LONGRANGEMODE_ON;
SX1276Write( REG_LR_OPMODE, RegOpMode );
SX1276LoRaSetOpMode( RFLR_OPMODE_STANDBY );
// RxDone RxTimeout FhssChangeChannel CadDone
RegDioMapping1 = RFLR_DIOMAPPING1_DIO0_00 | RFLR_DIOMAPPING1_DIO1_00 | RFLR_DIOMAPPING1_DIO2_00 | RFLR_DIOMAPPING1_DIO3_00;
// CadDetected ModeReady
RegDioMapping2 = RFLR_DIOMAPPING2_DIO4_00 | RFLR_DIOMAPPING2_DIO5_00;
SX1276Write(REG_LR_DIOMAPPING1, RegDioMapping1);
SX1276Write( REG_LR_DIOMAPPING2, RegDioMapping2);
}
bool SX1276GetLoRaOn( void )
{
return 1;
}
void SX1276SetOpMode( uint8_t opMode )
{
SX1276LoRaSetOpMode( opMode );
}
uint8_t SX1276GetOpMode( void )
{
return SX1276LoRaGetOpMode( );
}
double SX1276ReadRssi( void )
{
return SX1276LoRaReadRssi( );
}
uint8_t SX1276ReadRxGain( void )
{
return SX1276LoRaReadRxGain( );
}
uint8_t SX1276GetPacketRxGain( void )
{
return SX1276LoRaGetPacketRxGain( );
}
double SX1276GetPacketRssi( void )
{
return SX1276LoRaGetPacketRssi( );
}
uint32_t SX1276GetPacketAfc( void )
{
while (1)
{
;
}
}
uint8_t SX1276GetRFState( void )
{
return SX1276LoRaGetRFState( );
}
uint32_t SX1276Process( void )
{
return 0;//SX1276LoRaProcess( );
}
#endif // USE_SX1276_RADIO
复制代码
////////////////V2.04////////////////////
// PCB: W-ZT-Z-V2.04 //
// 设计:徐 2015年4月8日 //
// 环境:IAR 5.30 //
// 时钟+阶梯价+SX1278+SLE4442+AD电压检测
// 单片机工作频率=7 995392 Hz
//1、
//2、
//3、
//////////////////////////////////////////
#include "msp430f149.h"
#include "stdlib.h"
#include "sx1276.h"
#include "sx1276-LoRa.h"
#include <stdbool.h>
#include "PhyLyr.h"
#include "Common.h"
U8 SendFlag = 0;
U8 SendTimerFlag = 0;
U8 SendTimer = 0;
void main(void)
{
U8 i;
U8 CrcValue = 0;
WDTCTL = WDTPW + WDTHOLD; //关闭看门狗
SCFQCTL=SCFQ_2M;//2M
FLL_CTL0|= XCAP11PF; // Configure load caps
BTCTL =BT_fCLK2_ACLK_DIV256+ BT_ADLY_1000 + LCDFREQ_128;
IE2|=BTIE;
WriteDefaultConfigParm();
PW_ON;
//IRQ_IN();
P1IE=0X02;
P1IES=0x00; //上升沿中断
SX1276Init();
SX1276LoRaStartRx();
ENABLE_INT();
_EINT(); //开放中断
for(i = 0; i < 20; i++)
{
RFBuffer[i] = i;
CrcValue += RFBuffer[i];
}
RFBuffer[i] = CrcValue;
//SendTimerFlag = 1;
while(1)
{
if(SendFlag == 1)
{
SendFlag = 0;
LED_ON;
SX1276LoRaSetTxPacket(RFBuffer,21);
}
PhyLyr_Task();
}
}
#pragma vector = BASICTIMER_VECTOR
__interrupt void btinter(void)
{
SendFlag = 0;
__bic_SR_register(SCG0);
}
复制代码
所有资料51hei提供下载:
Msp430 1278 20160421.zip
(644.53 KB, 下载次数: 73)
2019-2-28 16:31 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
guochaoxxl
时间:
2020-12-13 17:26
真是不错的东东,谢谢楼主
作者:
Ting0000
时间:
2024-2-20 18:30
請問作者是否有其他的下載方式可以提供呢?
作者:
YYZZ052
时间:
2024-4-22 15:38
楼主,请问,怎么实现一对多配对????
作者:
YYZZ052
时间:
2024-4-22 15:38
请问一下,,怎么实现一对多配对???
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1