函数注释基于新大陆教育提供 的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()
输入:无
输出:无