Искам да предам float данни от matlab gui към pic16f877A с помощта на uart. минах през google и получих някои примери, но не мога да разбера точно как 4 байта (float) се предават на pic и вътрешна снимка как да се комбинират тези 4 байта, за да се прочетат данни с float. Има ли прост начин да се разбере предаването на плавам .
как да предавате плаващи данни от matlab към pic с помощта на uart
Отговори (1)
UART предаването винаги се извършва чрез изпращане на байтове (байтов масив) един по един. Така че основно трябва да преобразувате вашето число с плаваща задна единица в четири необработени байта. Имайте предвид, че float вече е записан (в паметта) като четири байта. Така че, ако направите байтов указател към местоположението на вашата плаваща променлива и вземете байтове от този адрес, ще получите четири байта от вашето плаващо число. Следващото, което трябва да направите, е да предавате байт по байт през UART. Когато имате байтов масив, получен от страна на PIC, можете да направите плаващ указател към адреса на първия байт от вашия масив и да получите стойността.
Надявам се това да помогне.
Също така, моля, проверете следната връзка, която решава подобен проблем
C функция за преобразуване на float в байтов масив