feat: complete assembly mesh relay control path

- synchronize STM8 application and external flash layout updates\n- add assembly bootloader and assembly application test projects\n- add UART1 interrupt receive ring buffer\n- parse JDY-28M Mesh outer frames and source addresses\n- add CRC-16/MODBUS validation\n- implement relay control command 0x01 and response 0x81\n- support unicast and broadcast relay control frames\n- update host protocol, OTA documents, and serial tools
This commit is contained in:
十七
2026-11-05 16:12:51 +08:00
parent df1aad3d16
commit ebef6a8694
40 changed files with 2133 additions and 307 deletions
+66
View File
@@ -0,0 +1,66 @@
/**
* @file stm8_test_registers.h
* @brief PB5 LED测试工程使用的最小GPIO寄存器定义。
*/
#ifndef STM8_TEST_REGISTERS_H
#define STM8_TEST_REGISTERS_H
#include <stdint.h>
/** GPIOA输出数据寄存器地址。 */
#define GPIOA_ODR_ADDR 0x5000u
/** GPIOA数据方向寄存器地址。 */
#define GPIOA_DDR_ADDR 0x5002u
/** GPIOA控制寄存器1地址。 */
#define GPIOA_CR1_ADDR 0x5003u
/** GPIOA控制寄存器2地址。 */
#define GPIOA_CR2_ADDR 0x5004u
/** GPIOB输出数据寄存器地址。 */
#define GPIOB_ODR_ADDR 0x5005u
/** GPIOB数据方向寄存器地址。 */
#define GPIOB_DDR_ADDR 0x5007u
/** GPIOB控制寄存器1地址,置1表示推挽输出。 */
#define GPIOB_CR1_ADDR 0x5008u
/** GPIOB控制寄存器2地址,置0表示低速输出。 */
#define GPIOB_CR2_ADDR 0x5009u
/** GPIOC输出数据寄存器地址。 */
#define GPIOC_ODR_ADDR 0x500Au
/** GPIOC数据方向寄存器地址。 */
#define GPIOC_DDR_ADDR 0x500Cu
/** GPIOC控制寄存器1地址。 */
#define GPIOC_CR1_ADDR 0x500Du
/** GPIOC控制寄存器2地址。 */
#define GPIOC_CR2_ADDR 0x500Eu
/** GPIOD输出数据寄存器地址。 */
#define GPIOD_ODR_ADDR 0x500Fu
/** GPIOD数据方向寄存器地址。 */
#define GPIOD_DDR_ADDR 0x5011u
/** GPIOD控制寄存器1地址。 */
#define GPIOD_CR1_ADDR 0x5012u
/** GPIOD控制寄存器2地址。 */
#define GPIOD_CR2_ADDR 0x5013u
/** 时钟分频寄存器地址。 */
#define CLK_CKDIVR_ADDR 0x50C6u
/** TIM4控制寄存器1地址。 */
#define TIM4_CR1_ADDR 0x5340u
/** TIM4中断使能寄存器地址。 */
#define TIM4_IER_ADDR 0x5343u
/** TIM4状态寄存器1地址。 */
#define TIM4_SR1_ADDR 0x5344u
/** TIM4预分频寄存器地址。 */
#define TIM4_PSCR_ADDR 0x5347u
/** TIM4自动重装载寄存器地址。 */
#define TIM4_ARR_ADDR 0x5348u
/** TIM4计数器地址。 */
#define TIM4_CNTR_ADDR 0x5346u
/** TIM4事件产生寄存器地址。 */
#define TIM4_EGR_ADDR 0x5345u
/** PB5对应的位掩码。 */
#define PB5_MASK 0x20u
/** 通过地址访问8位STM8外设寄存器。 */
#define REG8(address) (*((volatile uint8_t *)(address)))
#endif