基于物联网的安防系统设计附录
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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 选择*********/