как передать данные с плавающей запятой из матлаба в рис с помощью uart

Я хочу передать данные с плавающей запятой из графического интерфейса Matlab в pic16f877A с помощью uart. Я прошел через Google и получил несколько примеров, но я не могу точно понять, как 4 байта (с плавающей запятой) передаются в изображение и внутри изображения, как рекомбинировать эти 4 байта для чтения данных с плавающей запятой. Есть ли простой способ понять передачу плавать .


person dcmotor    schedule 08.03.2015    source источник


Ответы (1)


Передача UART всегда осуществляется путем отправки байтов (байтового массива) один за другим. Итак, в основном вам нужно преобразовать число с плавающей запятой в четыре необработанных байта. Имейте в виду, что float уже записано (в памяти) как четыре байта. Итак, если вы сделаете указатель байта на местоположение вашей переменной с плавающей запятой и возьмете байты с этого адреса, вы получите четыре байта вашего числа с плавающей запятой. Следующее, что вам нужно сделать, это передать байт за байтом через UART. Когда у вас есть массив байтов, полученный на стороне PIC, вы можете сделать указатель с плавающей запятой на адрес первого байта вашего массива и получить значение.

Надеюсь, это поможет.

Кроме того, пожалуйста, проверьте следующую ссылку, которая решает аналогичную проблему

Функция C для преобразования числа с плавающей запятой в массив байтов

person Darko Djuric    schedule 09.06.2015