как да предавате плаващи данни от matlab към pic с помощта на uart

Искам да предам float данни от matlab gui към pic16f877A с помощта на uart. минах през google и получих някои примери, но не мога да разбера точно как 4 байта (float) се предават на pic и вътрешна снимка как да се комбинират тези 4 байта, за да се прочетат данни с float. Има ли прост начин да се разбере предаването на плавам .


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


Отговори (1)


UART предаването винаги се извършва чрез изпращане на байтове (байтов масив) един по един. Така че основно трябва да преобразувате вашето число с плаваща задна единица в четири необработени байта. Имайте предвид, че float вече е записан (в паметта) като четири байта. Така че, ако направите байтов указател към местоположението на вашата плаваща променлива и вземете байтове от този адрес, ще получите четири байта от вашето плаващо число. Следващото, което трябва да направите, е да предавате байт по байт през UART. Когато имате байтов масив, получен от страна на PIC, можете да направите плаващ указател към адреса на първия байт от вашия масив и да получите стойността.

Надявам се това да помогне.

Също така, моля, проверете следната връзка, която решава подобен проблем

C функция за преобразуване на float в байтов масив

person Darko Djuric    schedule 09.06.2015