基于物联网的安防系统设计附录

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Main函数

#include

#include "My_type.h"

#include "main.h"

#include "sx1276-LoRa.h"

void UART1_init(void)

{

UART1_CR2=0;

UART1_SR=0;

UART1_CR1=0;

UART1_CR3=0;

UART1_BRR2 = 0x00; // 设置波特率19200

UART1_BRR1 = 0x1A; // 8M/2400 = 0x1A0

UART1_CR2=0x00;//

}

void TIM1_init(void)

{

TIM1_PSCRH = 0x1F; // 8M系统时钟经预分频f=fck/(PSCR+1)

TIM1_PSCRL = 0x3F; // PSCR=0x1F3F,f=8M/(0x1F3F+1)=1000Hz,每个计数周期1ms TIM1_ARRH = 0x00; // 自动重载寄存器ARR=0x01F4=500

TIM1_ARRL = 0x64; // 每记数100次产生一次中断,即100ms

TIM1_IER = 0x01; // 允许更新中断

TIM1_CR1 = 0x01; // 计数器使能,开始计数

}

void EXTI_init(void)

{

EXTI_CR1 = 0x40; // PD口上升沿触发中断//平时DIO0 是L,收到一包数据并且CRC正确后,DIO0 变为H

}

void Sx1276EV_IO_Inital()

{

//S_Tx_Rx

PC_DDR_DDR1=0;//S_Tx_Rx

PC_CR1_C11=1; ////PULL-UP-INPUT

PC_CR2_C21=0; //

//S_BW10

PA_DDR_DDR1=0;//

PA_CR1_C11=1; ////PULL-UP-INPUT

PA_CR2_C21=0;

//S_BW62

PA_DDR_DDR2=0;//

PA_CR1_C12=1; ////PULL-UP-INPUT

PA_CR2_C22=0;

//S_BW125

PB_DDR_DDR3=0;//

PB_CR1_C13=1; ////PULL-UP-INPUT

PB_CR2_C23=0;

//S_FSK

PB_DDR_DDR7=0;//

PB_CR1_C17=1; ////PULL-UP-INPUT

PB_CR2_C27=0;

}

void KeyRead( void )

{

u8 ReadData;

Flg_S_BW10=S_BW10;//

Flg_S_BW62=S_BW62;//

Flg_S_BW125=S_BW125;//

Flg_S_FSK=S_FSK;//

Flg_S_Tx_Rx=S_Tx_Rx;

ReadData=Flg^0xff;

Trg = ReadData & (ReadData ^ Cont);

Cont = ReadData;

Cont &= 0x1F;

if((Cont!=ContBak)&&(ContBak!=0xff))

WWDG_CR=0X8F;//STM8 软件复位整个系统

}

void SX1276_Parameters_Select()

{

ContBak=Cont;

if((Cont&0x10)==cTx_Statue )

{

Flg_SX1276_RXorTX=Sx1276_TxMode;

Tx_phase=SetTx_Parameters;

}

else

{

Flg_SX1276_RXorTX=Sx1276_RxMode;

Rx_phase=Rx_Parameters_Set;

}

switch(Cont&0x0F)

{

case 1:

/****BW 选择*********/

gb_BW=1;//10.4K BW

//gb_BW=2;//15.6K BW

//gb_BW=3;//20.8K BW

//gb_BW=4;//31.2K BW

//gb_BW=5;//41.7K BW

//gb_BW=6;//62.5K BW

//gb_BW=7;//125KHz BW

/****BW 选择结束*********/

/*******SF 选择*********/

//gb_SF=0;// SF=6; 64 chips / symbol

//gb_SF=1;// SF=7; 128 chips / symbol

//gb_SF=2;// SF=8; 256 chips / symbol

//gb_SF=3;// SF=9; 9 512 chips / symbol gb_SF=4;////SF=10; 1024 chips / symbol

//gb_SF=5;////SF=11; 2048 chips / symbol

//gb_SF=6;//SF=12; 4096 chips / symbol

/****SF 选择结束*********/

/*******CR 选择*********/

//CR=1;//// Error coding rate=4/5

CR=2;//// Error coding rate=4/6

//CR=3;//// Error coding rate=4/7

//CR=4;//// Error coding rate=4/8

/*******CR 选择结束*********/

break;

case 2:

/****BW 选择*********/

//gb_BW=1;//10.4K BW

//gb_BW=2;//15.6K BW

//gb_BW=3;//20.8K BW

//gb_BW=4;//31.2K BW

//gb_BW=5;//41.7K BW

gb_BW=6;//62.5K BW

//gb_BW=7;//125KHz BW

/****BW 选择结束*********/

//gb_SF=0;// SF=6; 64 chips / symbol

//gb_SF=1;// SF=7; 128 chips / symbol

//gb_SF=2;// SF=8; 256 chips / symbol

//gb_SF=3;// SF=9; 9 512 chips / symbol //gb_SF=4;////SF=10; 1024 chips / symbol

gb_SF=5;////SF=11; 2048 chips / symbol

//gb_SF=6;//SF=12; 4096 chips / symbol

/*******CR 选择*********/

相关文档
最新文档