2.1 KiB
2.1 KiB
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.
Следующие аппаратные шаги
- Проверить, что установлен
STM32Cube_FW_WB_V1.23.0. - Открыть
MDK-ARM/Zigbee_OnOff_Server_Coord.uvprojx. - В
App/hardware.cназначить реальные пины роли, 3 кнопок и ADC. - В
App/zigbee_port.cзаменить текущий адаптер на реальные STM32_WPAN/Zigbee send/receive вызовы. - Для 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.