<script src='несколько мегабайт яваскрипта.js'></script> то всё нормально и потом дальше разбросанные по странице встроенные скрипты по очереди выполнятся. Но если вдруг 50кБ wasm, то его обязательно надо загружать асинхронно и потом дополнительно расставлять костыли синхронизации всем остальным, потому что порядок исполнения теперь какой попало. <script>await init()</script> нельзя сделать.<script> заведомо получили проинициализированные глобальные объекты, и не пришлось ничего в них менять, запихивая в колбэки init'а. async function init(){
instance = await WebAssembly.instantiate(await load('...wasm...'),{env:env})).instance;
}<script src="somefile.js"></script><script>console.log(wasm)</script> "синхронно" ? typedef struct{
int data[3][5];
}array_t;
array_t & my_static_singleton_array() {
static array_t array = {{{1,2,3,4,5},{1,2,3,4,5},{1,2,3,4,5}}};
return array;
}
void add12(array_t & array, int n){
(*((int (*) [3][5]) &array))[1][2] += n;
}
а 6 выходов ацп завести в параллельный DCMI, таймером генерить CS(FSYNC) == HSYNC, и непрерывно захватывать 6-ти битную "картинку" шириной 24(32) пикселя(бита).
частоты не сильно большие возможно даже и без DCMI, можно обойтись, через таймер->DMA->GPIO.