Strana 1 z 1

Matlab - pretypovanie

Napísané: 15 Mar 2014, 02:09
od používateľa Marekodzapadu
Neviem si podarit z pretypovanim cisla v Matlabev C je to nasledovne:

Kód: Vybrať všetko

uint16_t cele_cislo = 600;
uint8_t prve = 0;  
uint8_t druhe = 0;

prve = (uint8_t) cele_cislo;             // dostaneme 88;
druhe = (uint8_t) (cele_cislo >> 8);  // dostaneme 2;

A v matlabe v pripade ze spravim
cele_cislo = 600;
prve = 0;
druhe = 0;

prve = uint8(cele_cislo);                //vysledok nieje 88 ale 255;
druhe = bitshift(cele_cislo,-8)        // vysledok je 2 co je spravne
treba mi rozdelit jedno 16bitve cislo, na dve 8bitove v matlabe...

Re: Matlab - pretypovanie

Napísané: 15 Mar 2014, 06:34
od používateľa anonymousCoward

Kód: Vybrať všetko

prve = bitand(cele_cislo, 255);
...

Re: Matlab - pretypovanie

Napísané: 23 Mar 2018, 13:02
od používateľa MiloPS3
Zdravim
mam zarizeni co posila data na Thingspeak,jsou to surovy data tak si to prevadim pomoci Matlab analysis
data jsou v hex formatu a jeste v naky tabulce ,po puldenim trapeni jsem to nejak dal do kupy ale pokud ta hodnota obsahuje pismeno je to v pohode ale kdyz jsou tam jen cisla vyhodi to eror , bohuzel s tim uz si nejak nevim rady , napada nekoho neco ?

Kód: Vybrať všetko

[id_stanice]=thingSpeakRead(readChannelID,'Fields',id_stanice_FieldID,'ReadKey',readAPIKey,'OutputFormat','table');
display(id_stanice,'id_stanice');
a=table2array(id_stanice(:,2:2))
id_stanice=char(a);
id_stanice = hex2dec(id_stanice);
v poradku

Kód: Vybrať všetko

id_stanice =

1×2 table

Timestamps            IDStation
____________________ _________

23-Mar-2018 11:20:12 '79DF'


a =

1×1 cell array

{'79DF'}


ID stanice =

31199
spatne

Kód: Vybrať všetko

id_stanice =

1×2 table

Timestamps           IDStation
____________________ _________

23-Mar-2018 11:32:42 2662


a =

2662

Error using hex2dec>hex2decImpl (line 58)
Input to hex2dec should have just 0-9, a-f, or A-F.

Error in hex2dec (line 21)
d = hex2decImpl(h);

Error in Convert temperature units 1 (line 39)
id_stanice = hex2dec(id_stanice);

bohuzel nemohu ovlivnit format ty hodnoty ,jsou to 4B ascii znaku hex hodnoty

Kód: Vybrať všetko

"79DF"
"2662"
"26F2"

Re: Matlab - pretypovanie

Napísané: 03 Apr 2018, 18:38
od používateľa marh
MiloPS3

napíš aký hardware ARDUINO/ RASPBERRY PI, ESP8266 atď
Arduino IDE tiež používa C++
na thingspeak je veľa návodov ako spracovať údaje na čítanie a zápis

Re: Matlab - pretypovanie

Napísané: 03 Apr 2018, 20:35
od používateľa MiloPS3
Nevim jestly se tomu da rikat hardware.... Sigfox cloud