LoRa通信应用开发【保姆级】+LoRa光照传感器节点应用程序开发 !!!

前言

基于LoRa无线通信传感器数据采集的嵌入式程序,主要功能是通过LoRa模块发送和接收数据,并在OLED屏幕上显示光照信息


硬件选择

新大陆——LoRa开发板

新大陆——光照传感器 


代码讲解

跳过文件创建过程,直接对代码进行讲解。

1. 头文件和宏定义模块

#include <string.h>
#include <stdio.h>
#include "board.h"
#include "radio.h"
#include "NS_Radio.h"
#include "hal_temHum.h"

#define START_HEAD 0x55
#define CMD_READ 0x01
#define ACK_OK 0x00
#define ACK_NONE 0x01
#define ACK_ERR 0x02

#define MY_NET_ID 0x0138
#define MY_ADDR 0x02
  • 功能:这部分引入了程序所需的头文件,并定义了一些常量。

    • START_HEADCMD_READACK_OK 等宏定义用于协议帧的格式化和解析。

    • MY_NET_ID 和 MY_ADDR 分别定义了网络ID和设备地址,用于LoRa通信中的身份标识。

2. 全局变量模块

uint16_t LightLux = 0; // 光照变量
  • 功能:定义了全局变量 LightLux,用于存储光照的值。初始值为0。

3. 传感器数据采集模块

void LoRa_GetSensorDataProcess(void){
	const uint16_t time = 1000;
	if(User0Timer_MS > time){
		User0Timer_MS = 0;
		uint16_t AdcNum , voltage;
		//AdcNum
		AdcNum = AdcReadChannel(&Adc , ADC_CHANNEL_0);
		voltage = AdcNum*3300/(4096 - 1.0);
		LightLux = (5 / 2.0)*(voltage / 10.0);
		char StrBuf[64] = {0};
		memset(StrBuf , '\0' ,64);
		
		sprintf(S
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

花开月满西楼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值