stm32 lora 安信可Ra02模块基本使用(程序)

最近毕设玩一下lora,查了蛮多资料,总算是会了一点最基础的用法,用安信可的lora模块Ra02实现点对点的通信,手头只有stm32f103的板子,就拿了两块,一个发送,一个接收。废话不多说,直接上程序。比较懒,还是直接截图吧,一会把源码上传。
程序是参考了安信可的51例程,还有网上大神的程序,谢谢各位大神的无私奉献。
这个是模块,某宝的。
stm32 lora 安信可Ra02模块基本使用(程序)_第1张图片

发送端的main.c****重点内容

/****************************************************************************
* 本例程在 STM32开发板上调试通过           
* 文件名: main.c
* 内容简述:	*       
*	演示的是安信可LoRa无线通信的功能。Ra02
* 硬件连接:
* 
* LoRa模块引脚连接
*  1--VDD--3.3V
*  3--GND--GND
*  5--PE1--RESET  (可以不接)
*  7--PD4--DIO0
* 11--PD7--DIO2
* 
* 2--PA5--SCK
* 4--PB7--NSS
* 6--PA7--MOSI
* 8--PA6--MISO
*  ------------------------
* | PA9  - USART1(Tx)      |
* | PA10 - USART1(Rx)      |
*  ------------------------    
*  ST-LINK
*  PA13--DIO
*  PA14--CLK
*	基于MDK版本:        3.8
*	基于官方外设库版本:  3.5
*
*******************************************************************************/
 
#include "sys_config.h"

static uint8_t EnableMaster = true; 				  // Master/Slave selection
tRadioDriver *Radio = NULL;
const uint8_t MY_TEST_Msg[] = "LoRa_SX1278_TEST_2012";


/**
  * @brief  主函数
  * @param  无
  * @retval 无
  */
int main(void)
{
	uint8_t i;
	//stm32 config
	sys_Configuration();
	printf("RF_LoRa_TX_OK? \n");
		
	BoardInit( );
    
  Radio = RadioDriverInit( );
    
  Radio->Init( );
	
	Radio->SetTxPacket( MY_TEST_Msg, strlen(MY_TEST_Msg) );

	while(1)
	{
		while(Radio->Process( ) == RF_TX_DONE)
		{
			Soft_delay_ms(2000);
			Radio->SetTxPacket( MY_TEST_Msg, strlen(MY_TEST_Msg) );   //RFLR_STATE_TX_INIT
		}		
		
	}
}

/*********************************************END OF FILE**********************/
**接收端的mian.c**

/****************************************************************************
* 本例程在 STM32开发板上调试通过           
* 文件名: main.c
* 内容简述:	*       
*	演示的是安信可LoRa无线通信的功能。Ra02
* 硬件连接:
* 
* LoRa模块引脚连接
*  1--VDD--3.3V
*  3--GND--GND
*  5--PE1--RESET 可以不接
*  7--PD4--DIO0
* 11--PD7--DIO2
* 
* 2--PA5--SCK
* 4--PB7--NSS
* 6--PA7--MOSI
* 8--PA6--MISO
*  ------------------------
* | PA9  - USART1(Tx)      |
* | PA10 - USART1(Rx)      |
*  ------------------------    
*  ST-LINK
*  PA13--DIO
*  PA14--CLK
*	基于MDK版本:        3.8
*	基于官方外设库版本:  3.5
*
*******************************************************************************/
 
**#include "sys_config.h"
**#define BUFFER_SIZE     30                  // Define the payload size here****
static uint16_t BufferSize = BUFFER_SIZE;	  // RF buffer size
static uint8_t  Buffer[BUFFER_SIZE];				// RF buffer
static uint8_t EnableMaster = false; 				// Master/Slave selection

tRadioDriver *Radio = NULL;

const uint8_t MY_TEST_Msg[] = "LoRa_SX1278_TEST";

/**
  * @brief  主函数
  * @param  无
  * @retval 无
  */
int main(void)
{
	uint8_t i;
	//stm32 config
	sys_Configuration();
	
	BoardInit( );
    
  Radio = RadioDriverInit( );
    
  Radio->Init( );
	
  Radio->StartRx( );   //RFLR_STATE_RX_INIT

	while(1)
	{

		while( Radio->Process( ) == RF_RX_DONE)
		{
			  Radio->GetRxPacket( Buffer, ( uint16_t* )&BufferSize );
				for(i=0;i < BufferSize;i++)
				{
					USART_putchar(USART1,Buffer[i]);
				}
				printf("\n");
				
				for(i=0;iStartRx( );
		}
		
	}
}

/*********************************************END OF FILE**********************/

串口调试输出
stm32 lora 安信可Ra02模块基本使用(程序)_第2张图片

硬件:

程序源码:
http://download.csdn.net/download/qq_28398969/10262939

附:由于CSDN的下载规则变化,我这个本来2积分的资源,被系统自动变成了21积分才可以下载了,我又不能手动修改降低,违背了我本意,故附上云传送门,内容和上面那个CSDN的链接的内容是一样的,希望能够帮助到大家。
链接:https://pan.baidu.com/s/1g9C_yyMVWMyA5XalDvmMew
提取码:8kx5
以上。

你可能感兴趣的:(stm32 lora 安信可Ra02模块基本使用(程序))