624 字
3 分钟
NB-IOT模块和LoRa模块的常用函数注释
函数注释基于新大陆教育提供 的NB-IOT和LoRa通用库
地址写入和读取:
使用需引用头文件#include “flash.h”
可以写入的地址有:
0x0800f300
等
写入内存操作:
void WriteFlashTest(uint32_t Addr,uint32_t WriteFlashData)参数:WriteAddr 起始地址 WriteFlashData 数据输出:无读取内存操作:
uint32_t STMFLASH_ReadWord(uint32_t faddr)参数:faddr 读地址(此地址必须为2的倍数!!)输出:32位数据LoRa通信:
使用需引用头文件#include “NS_Radio.h”
通信初始化:
void NS_RadioInit( uint32_t freq, int8_t power, uint32_t txTimeout, uint32_t rxTimeout)输入;freq 载波频率,建议433MHz附近频率最佳 power 发射功率,最大20 txTimeout 发送超时时间 uint32_t rxTimeout 接收超时时间输出:无常用值:433532108,10,1000,1000发送Lora通信:
Radio.Send(uint8_t *Buf,uint8_t num)输入:Buf 已组件好的发射帧 num 发射帧长度输出:无接收Lora通信:
uint16_t ReadRadioRxBuffer( uint8_t *payload)输入:无输出:uint8_t *payload, 指针,指向要用于存放接收缓存的地址返回:数据长度OLed屏操作:
初始化OLED屏:
void OLED_Init();输入:无输出:无开启OLED显示 :
void OLED_Display_On(void)输入:无输出:无关闭OLED显示:
void OLED_Display_Off(void)输入:无输出:无显示一个字符号串:
void OLED_ShowString(uint8_t x,uint8_t y,uint8_t *chr)输入:x 横坐标(mix=0,max=127) y 纵坐标(mix=0,max=7) chr 字符串地址(直接发送字符串需要强转uint8_t *)输出:无显示一个汉字:
void OLED_ShowCHinese(uint8_t x,uint8_t y,uint8_t no)输入:x 横坐标(mix=0,max=127) y 纵坐标(mix=0,max=7) no 汉字的标号(在oledfont.h添加取模后的汉字)输出:无清除屏幕:
void OLED_Clear(void)输入:无输出:无SHT1X
使用需引用头文件#include “sht1x.h”
注意:如果SHT1X设备不存在获取函数将一直循环到SHT1X数据采集成功
初始化SHT1X:
void SHT1x_init(void)输入:无输出:无获取温度:
int SHT1x_get_temperature(float* temp)输入:无输出:float* temp,指针,指向要用于存放接收缓存的地址返回值:-1 失败 0 成功获取湿度:
int SHT1x_get_relative_humidity(float *humidity)输入:无输出:float *humidity,指针,指向要用于存放接收缓存的地址返回值:-1 失败 0 成功按键
使用需引用头文件#include “hal_key.h”
检测按键
void isKey2Pressed()/void isKey3Pressed()/void isKey4Pressed()输入:无输出:0 未触发 1 触发复位按键
void resetKey2()/void resetKey3()/void resetKey4()输入:无输出:无LED呼吸
使用需引用头文件#include “led_light.h”
开关PWM呼吸
void switchLed1Breath()/void switchLed2Breath()输入:无输出:无开启PWM呼吸
void startLedBreath()输入:无输出:无关闭PWM呼吸
void stopLedBreath()输入:无输出:无PWM呼吸显示
void breathLed()输入:无输出:无 NB-IOT模块和LoRa模块的常用函数注释
https://fuwari.vercel.app/posts/nb-iot模块和lora模块的常用函数注释/