📚 NÍVEL 3 - AVANÇADO (Semanas 9-12)

Tópicos Avançados

1. DMA (Direct Memory Access)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include "hardware/dma.h"

// Transferir dados sem usar CPU
int dma_chan = dma_claim_unused_channel(true);
dma_channel_config c = dma_channel_get_default_config(dma_chan);
channel_config_set_transfer_data_size(&c, DMA_SIZE_32);

dma_channel_configure(
    dma_chan,
    &c,
    dest,    // Destino
    src,     // Origem
    count,   // Quantidade
    true     // Iniciar agora
);

2. Comunicação Entre Cores

1
2
3
4
5
6
7
#include "pico/multicore.h"

// Core 0 envia para Core 1
multicore_fifo_push_blocking(data);

// Core 1 recebe de Core 0
uint32_t data = multicore_fifo_pop_blocking();

3. Timers e Alarmes

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include "hardware/timer.h"

bool timer_callback(struct repeating_timer *t) {
    printf("Timer fired!\n");
    return true;  // Continuar repetindo
}

int main() {
    struct repeating_timer timer;
    add_repeating_timer_ms(500, timer_callback, NULL, &timer);
    
    while(true) {
        tight_loop_contents();
    }
}

🎯 PROJETO NÍVEL 3: Sistema de Aquisição de Dados

Descrição: Logger de múltiplos sensores com análise em tempo real.

Funcionalidades:

Tecnologias Integradas: