fwrite int64 not supported
조회 수: 3 (최근 30일)
이전 댓글 표시
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
답변 (1개)
Guillaume
2019년 6월 28일
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
참고 항목
카테고리
Help Center 및 File Exchange에서 String에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!