项目简介
本项目基于STM32L0xx系列微控制器开发,具备多方面功能。一方面借助示例代码,基于Disk91 IoT SDK在Murata CMWX1ZZABZ模块(stm32 + sx1276)上实现Sigfox通信,该示例已针对MCCI Catena 4618板设置,且便于移植到同系列其他板;另一方面利用STM32的HAL库进行开发,涵盖UART通信、ADC模数转换、SPI串行通信等多种功能。
项目的主要特性和功能
- Sigfox通信:实现Sigfox通信,支持Uplink通信(部分板版本因DIO4引脚未连接仅支持Uplink),可通过控制台配置和调试。
- UART通信:通过STM32L0xx微控制器的UART接口与计算机进行串行通信,支持数据收发。
- ADC模数转换:利用ADC模块将模拟信号转为数字信号,支持多ADC通道配置和使用。
- SPI串行通信:通过SPI接口实现微控制器与外部设备通信,支持主从模式和中断/DMA传输。
- I2C通信:通过I2C接口实现微控制器与外部设备通信,支持I2C主从模式。
- RTC实时时钟:提供实时时钟功能,支持时间设置、闹钟设置和中断处理。
- IWDG独立看门狗:监控微控制器运行状态,程序出错或冻结时产生复位信号重启。
- GPIO通用输入输出:控制外部设备或读取传感器信号,支持多种GPIO模式。
- DMA直接内存访问:用于高速数据传输,支持UART、SPI和I2C等接口的DMA传输。
- RCC复位和时钟控制:配置和管理微控制器的时钟系统,包括振荡器配置、时钟源切换和时钟安全系统。
安装使用步骤
Sigfox通信部分
- 若未启动过CubeIDE,先启动以创建项目工作区,然后打开终端进入该目录。
- 复制本项目仓库:
sh
- 进入项目仓库:
sh [Workspace_CubeMx]# cd itsdk-example-sigfox-sx1276
- 复制ItSDK仓库:
sh
- 在CubeIDE中,选择“File >> Import >> Existing Projects into Workspace”,选择
itsdk-example-sigfox-sx1276
目录并导入项目。 - 以Release模式构建项目。
- 在
Release
文件夹中会生成itsdk-example-sigfox-sx1276.bin
文件。 - 通过USB连接LRWAN ST板。
- 以9600bps配置打开
STM32 STLink
USB串行端口的串行终端。 - 将
itsdk-example-sigfox-sx1276.bin
文件复制到自动挂载的驱动器(名为DIS_L072Z)上。 - 板载编程指示灯闪烁,程序开始运行。
多功能微控制器应用部分
- 下载项目源码,确保已包含所有必要的文件和库。
- 使用STM32CubeIDE或Keil等集成开发环境(IDE)打开项目。
- 配置项目参数,如时钟源、外设配置等,以满足特定需求。
- 编译并生成可执行文件。
- 将可执行文件通过JTAG或SWD调试器烧录到STM32L0xx微控制器中。
- 连接微控制器与外部设备,通过UART、SPI、I2C等接口进行通信和测试。
- 调试和测试项目功能,确保符合预期。
Sigfox配置步骤
- 测试控制台,在串行端口输入
?
,应得到帮助信息。 - 在控制台输入
changeme
进入管理模式。 - 输入
?
验证是否已进入管理模式。 - 假设设备ID为
00D206AF
,设备PAC为0000000000000000
,设备KEY为42394514F99016C3A7334A12CFFD4A2C
,在控制台输入以下命令进行配置:- 配置欧洲无线电区域:
SC:A:01
- 配置PAC:
SC:C:0000000000000000
- 配置KEY:
SS:2:42394514F99016C3A7334A12CFFD4A2C
- 配置设备ID:
SC:D:00D206AF
- 配置欧洲无线电区域:
- 输入
C
命令查看待处理的配置。 - 若配置无误,输入
S
应用配置,此时将触发第一次Sigfox传输,之后每10分钟会进行一次新的传输。
注意事项
- 使用前确保已安装STM32CubeIDE或Keil等集成开发环境。
- 根据项目需求,可能需调整微控制器的引脚配置和时钟源配置。
- 使用DMA、中断和UART等功能时,确保在相应回调函数中处理中断事件和DMA传输完成。
- 配置I2C或SPI等通信接口时,确保正确配置通信参数和协议。
- 遵循STM32L0xx微控制器的操作手册和HAL库文档,确保正确配置和使用微控制器的各种功能。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】