【单片机】利用双缓冲机制保护全局变量不受中断影响以及环形队列
volatile uint8_t buffer_index 0;
uint32_t buffer[2] {0};void main()
{while (1){uint8_t current_index buffer_index;process_data(buffer[current_index & 0x01]); // 读非活跃缓冲区}
}void ISR()
{buffer_index ^ 1; // 切换缓冲区buffer[buffer_index & 0x…
2026/8/10 13:05:56