littlebot
Published on 2025-04-15 / 0 Visits
0

【源码】基于STM32的Sigfox通信及多功能微控制器应用项目

项目简介

本项目基于STM32L0xx系列微控制器开发,具备多方面功能。一方面借助示例代码,基于Disk91 IoT SDK在Murata CMWX1ZZABZ模块(stm32 + sx1276)上实现Sigfox通信,该示例已针对MCCI Catena 4618板设置,且便于移植到同系列其他板;另一方面利用STM32的HAL库进行开发,涵盖UART通信、ADC模数转换、SPI串行通信等多种功能。

项目的主要特性和功能

  1. Sigfox通信:实现Sigfox通信,支持Uplink通信(部分板版本因DIO4引脚未连接仅支持Uplink),可通过控制台配置和调试。
  2. UART通信:通过STM32L0xx微控制器的UART接口与计算机进行串行通信,支持数据收发。
  3. ADC模数转换:利用ADC模块将模拟信号转为数字信号,支持多ADC通道配置和使用。
  4. SPI串行通信:通过SPI接口实现微控制器与外部设备通信,支持主从模式和中断/DMA传输。
  5. I2C通信:通过I2C接口实现微控制器与外部设备通信,支持I2C主从模式。
  6. RTC实时时钟:提供实时时钟功能,支持时间设置、闹钟设置和中断处理。
  7. IWDG独立看门狗:监控微控制器运行状态,程序出错或冻结时产生复位信号重启。
  8. GPIO通用输入输出:控制外部设备或读取传感器信号,支持多种GPIO模式。
  9. DMA直接内存访问:用于高速数据传输,支持UART、SPI和I2C等接口的DMA传输。
  10. RCC复位和时钟控制:配置和管理微控制器的时钟系统,包括振荡器配置、时钟源切换和时钟安全系统。

安装使用步骤

Sigfox通信部分

  1. 若未启动过CubeIDE,先启动以创建项目工作区,然后打开终端进入该目录。
  2. 复制本项目仓库: sh
  3. 进入项目仓库: sh [Workspace_CubeMx]# cd itsdk-example-sigfox-sx1276
  4. 复制ItSDK仓库: sh
  5. 在CubeIDE中,选择“File >> Import >> Existing Projects into Workspace”,选择itsdk-example-sigfox-sx1276目录并导入项目。
  6. 以Release模式构建项目。
  7. Release文件夹中会生成itsdk-example-sigfox-sx1276.bin文件。
  8. 通过USB连接LRWAN ST板。
  9. 以9600bps配置打开STM32 STLink USB串行端口的串行终端。
  10. itsdk-example-sigfox-sx1276.bin文件复制到自动挂载的驱动器(名为DIS_L072Z)上。
  11. 板载编程指示灯闪烁,程序开始运行。

多功能微控制器应用部分

  1. 下载项目源码,确保已包含所有必要的文件和库。
  2. 使用STM32CubeIDE或Keil等集成开发环境(IDE)打开项目。
  3. 配置项目参数,如时钟源、外设配置等,以满足特定需求。
  4. 编译并生成可执行文件。
  5. 将可执行文件通过JTAG或SWD调试器烧录到STM32L0xx微控制器中。
  6. 连接微控制器与外部设备,通过UART、SPI、I2C等接口进行通信和测试。
  7. 调试和测试项目功能,确保符合预期。

Sigfox配置步骤

  1. 测试控制台,在串行端口输入?,应得到帮助信息。
  2. 在控制台输入changeme进入管理模式。
  3. 输入?验证是否已进入管理模式。
  4. 假设设备ID为00D206AF,设备PAC为0000000000000000,设备KEY为42394514F99016C3A7334A12CFFD4A2C,在控制台输入以下命令进行配置:
    • 配置欧洲无线电区域:SC:A:01
    • 配置PAC:SC:C:0000000000000000
    • 配置KEY:SS:2:42394514F99016C3A7334A12CFFD4A2C
    • 配置设备ID:SC:D:00D206AF
  5. 输入C命令查看待处理的配置。
  6. 若配置无误,输入S应用配置,此时将触发第一次Sigfox传输,之后每10分钟会进行一次新的传输。

注意事项

  • 使用前确保已安装STM32CubeIDE或Keil等集成开发环境。
  • 根据项目需求,可能需调整微控制器的引脚配置和时钟源配置。
  • 使用DMA、中断和UART等功能时,确保在相应回调函数中处理中断事件和DMA传输完成。
  • 配置I2C或SPI等通信接口时,确保正确配置通信参数和协议。
  • 遵循STM32L0xx微控制器的操作手册和HAL库文档,确保正确配置和使用微控制器的各种功能。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】