fwrite int64 not supported
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hi to you all,
I'm using matlab to exchange data with a cortex M4 board.
In my embedded c code I enabled the usb vcom and I am able to write and read using
fwrite()
fread()
Everything is fine if I use 'int32' as precision, but 'int64' is not supported.
Unfortunately I need to send to my board some int64 parameters and I wonder which is the best way of doind this.
Any hints?
0 commentaires
Réponses (1)
Guillaume
le 28 Juin 2019
Well, a 64 bit integer can be easily split into two 32-bit halves. You'd need to know the endianess of your environment but it's going to be either:
%input:
% val64: a uint64 integer scalar
val64as32 = typecast(val64, 'uint32');
fwrite(something, val64as32, 'uint32')
or
%input:
% val64: a uint64 integer scalar
val64as32 = fliplr(typecast(val64, 'uint32'));
fwrite(something, val64as32, 'uint32')
0 commentaires
Voir également
Catégories
En savoir plus sur String dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!