STM32WB55CGU6 Zigbee Master/Slave Keil Project

Проект для STM32WB55CGU6 в Keil MDK на базе официального CubeWB Zigbee-примера.

Основной Keil-файл:

MDK-ARM/Zigbee_OnOff_Server_Coord.uvprojx

Что реализовано

  • Глобальная структура g_app хранит роль, состояние Zigbee, конфиг сети, кнопки и аналоговый канал.
  • Роль можно переключать во время работы через App_SetRole() или аппаратный переключатель в Hardware_ReadRoleSwitchIsMaster().
  • Режим slave читает 3 кнопки и 1 аналоговый канал, фильтрует ADC и отправляет отчет через ZigbeePort_SendSlaveInputs().
  • Режим master отделен архитектурно: он должен открыть Zigbee-сеть и принимать отчеты slave в zigbee_port.c.
  • ST main.c, app_entry.c, startup, scatter, HAL, BSP и STM32_WPAN взяты из STM32Cube_FW_WB_V1.23.0.

Следующие аппаратные шаги

  1. Проверить, что установлен STM32Cube_FW_WB_V1.23.0.
  2. Открыть MDK-ARM/Zigbee_OnOff_Server_Coord.uvprojx.
  3. В App/hardware.c назначить реальные пины роли, 3 кнопок и ADC.
  4. В App/zigbee_port.c заменить текущий адаптер на реальные STM32_WPAN/Zigbee send/receive вызовы.
  5. Для STM32WB55CGU6 проверить memory layout и package pinout, потому что ST-база взята от P-NUCLEO-WB55.Nucleo.

Где менять поведение

  • App/app_config.h - период отправки, endpoint, cluster id, роль по умолчанию.
  • App/app_types.h - глобальные структуры.
  • App/slave_inputs.c - debounce кнопок и фильтр ADC.
  • App/zigbee_app.c - общая логика master/slave.
  • App/zigbee_port.c - реальные Zigbee вызовы STM32WB.
Description
No description provided
Readme 1.8 MiB
Languages
HTML 41.5%
C 29%
Makefile 24.6%
Assembly 4.9%