работает слейв и мастер
This commit is contained in:
33
README.md
Normal file
33
README.md
Normal file
@@ -0,0 +1,33 @@
|
||||
# STM32WB55CGU6 Zigbee Master/Slave Keil Project
|
||||
|
||||
Проект для STM32WB55CGU6 в Keil MDK на базе официального CubeWB Zigbee-примера.
|
||||
|
||||
Основной Keil-файл:
|
||||
|
||||
```text
|
||||
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.
|
||||
Reference in New Issue
Block a user