| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> STM32WL LoRaWAN节点设备学习记录(一) -> 正文阅读 |
|
[嵌入式]STM32WL LoRaWAN节点设备学习记录(一) |
摸了几天开发板,感觉需要再系统学习一下。 以LoRaWAN_AT_Slave和LoRaWAN_End_Node两个工程为例进行学习。 an5406-how-to-build-a-lora-application-with-stm32cubewl-stmicroelectronics.pdf an5481 LoRaWAN? AT commands for STM32CubeWL - Application note.pdf en.MB1389-WL55JC-lowband-D04_Schematic.pdf (1)硬件概要 一个供电 可选的双核--高安全需求场景 这个应该算软件特性 ? ? (2)sdk框架 分为driver、middleware、application(进一步分为Lorawan和phy),还有utilities--sequencer和timer。 还有utilities--sequencer和timer ? ? (3)class A流程图 ?(4)开发板BSP driver 替换的两种方式,我们用哪种?好像是第一种 ?ST官方开发板,不知道debug lines 和sysclock有啥用? 关于FEctrl,我们模组实际只用2个pin,ctrl1--PB0,ctrl3--PA8 所以模块外部没后这两个pin,内部定义fectrl2-pa15,虽然没用。 ? ? 关于bsp的tcxo和rf,dcdc,stm32wlxx_LM401_radio.c ?/** ?(5)SubGHz_Phy layer middlewareIt is not aware about hardware interface,,只是一个抽象层,不针对具体硬件。--内部是SX1262,就是semtech官方的驱动,不再描述 主要还是radio_s这个回调结构体和9个中断 ??(6)LoRaWAN middleware--4大组件 The LoRa stack middleware is split into the following modules: 1) ?The LoRaMAC layer provides the following services:--被application主动调用 ? MLME services The LoRaMAC user event functions primitives (also named callbacks) to be implemented by the application --Response to a McpsRequest; --Notifies the application that a received packet is available; --MIB-No available functions.-MIB没有回调函数。,其它三个都有。 2)Middleware MAC layer timers- 3)Middleware LmHandler application function---这个重要lora_app.c就是实际业务文件。 LoRaWAN_End_Node and LoRaWAN_AT_Slave APIs used to access the LoRaMAC ? (7)sequencer ?to execute tasks in the background and enters low-power?mode when there is no more activity.? allowing any function to wait for an event (where particular?event is set by interrupt) ?MIPS and power to be easily saved in any application that implements “run to Any task is run to completion and can not switch to another task like a RTOS can do Moreover, one single-memory stack?is used. The sequencer is an advanced ‘while loop’ centralizing task and event bitmap flag ?void UTIL_SEQ_Idle( void ) (8)Timer server The timer server allows the user to request timed-tasks execution. As the hardware timer is based on the RTC,the time is always counted, even in low-power modes. The timer server provides a reliable clock for the user and the stack. The user can request as many timers as the application requires. (9)Low-power functions when the DMA is in use to?print data to the console, the system must not enter a low-power mode below Sleep mode because the DMA?clock is switched off in Stop mode ? ?Low-level APIs must be implemented to define what the system must do to enter/exit a low-power mode.----这个关键,stm32_lpm_if.c (9)System time (10)Trace The trace module enables to print data on a COM port using DMA. |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 6:19:33- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |