Manipolazione porte Teensy 4.1

Ciao a tutti,
Ho acquistato un Teensy4.1 per un progetto che richiede alta velocità e parecchi output.
Il progetto è un proiettore laser con galvanometri.
Il mio intento è di attaccare dei DAC paralleli al teensy e comandare gli output delle porte per generare il segnale analogico da dare in pasto al circuito di potenza che muoverà i motori.
Non riesco a trovare la documentazione necessaria per comandare le porte del uC, con aruino normalmente scrivevo PORTxx=Valore, per il teensy 4.1 come devo fare?

Sei dovuto arrivare a un Teensy 4.1???... Il 3.2 fa tranquillamente la FFT!
Probabilmente basta molto meno... No?...

Hai ragione molto probabilmente bastava meno per la logica ma se tutto dovesse funzionare bene andrei a mettere dei DAC a 12 o 16 bit e resterei a corto di I/O quindi ho optato per il 4.1

... NON c'è, è un "core" sviluppato su misura per quelle MCU da Paul Stoffregen e ... l'unica è che ti vai a studiare i sorgenti (anche delle ottime librerie che rilasciano per la manipolazione dell'audio) e vedi come fanno.

Guglielmo

Aggiungo. I comandi PORTx etc. non sono di Arduino. È che con la Uno, Nano usi la mcu atmega328. Quei comandi sono del compilatore. Ogni mcu ha i suoi comandi. La teensy 4.1 ha una mcu diversissima, un Arm Cortex M7

Capito.
Proverò a cercare e studiarmi il core consigliato da Guglielmo, graditissimi consigli in merito

Se guardi qui ti rendi conto che la pinMode, digitalRead ecc sono già abbastanza ottimizzate. Comunque avrai altri buoni motivi per volere usare i registri, ma allora ti tocca studiare il datasheet della MCU, più le HAL di ARM e il core che ti ho linkato. Insomma da studiare c'è tanto, ma tanto proprio.

Ricava gli indirizzi dei registri a partire da questa:

const struct digital_pin_bitband_and_config_table_struct *p;

Non ho indagato, tocca a te farlo.

Ciao.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.