MATLAB NOOB - How to run a downloaded FILE EXCHANGE code - CRC32

5 visualizzazioni (ultimi 30 giorni)
I am relativitly new to MATLAB. Most of my new learnings have been learning how to write and run BASIC Functions. I downloaded this CRC32 bit function from File Exchange and I am having a hard time to run/callout the function.
I am trying to enter a HEX number and return the CRC Calculation in HEX.
function crc = crc32(data)
%crc32 Computes the CRC-32 checksum value of a byte vector.
%--------------------------------------------------------------------------
% CRC = crc32(DATA) computes the CRC-32 checksum value of the data stored
% in vector DATA. The elements of DATA are interpreted as unsigned bytes
% (uint8). The result is an unsigned 32-bit integer (uint32). Polynomial
% bit positions have been reversed, and the algorithm modified, in order
% to improve performance.
% Version: 1.00
% Programmer: Costas Vlachos
% Date: 23-Dec-2014
% Initialize variables
crc = uint32(hex2dec('FFFFFFFF'));
poly = uint32(hex2dec('EDB88320'));
data = uint8(data);
% Compute CRC-32 value
for i = 1:length(data)
crc = bitxor(crc,uint32(data(i)));
for j = 1:8
mask = bitcmp(bitand(crc,uint32(1)));
if mask == intmax('uint32'), mask = 0; else mask = mask+1; end
crc = bitxor(bitshift(crc,-1),bitand(poly,mask));
end
end
crc = bitcmp(crc);

Risposta accettata

Ameer Hamza
Ameer Hamza il 13 Dic 2020
You can only call a function if placed in the "Current Folder" or placed somewhere on the MATLAB path. You need to download this file, place it in the folder you want and then add that folder to MATLAB's path as described here: https://www.mathworks.com/help/matlab/matlab_env/add-remove-or-reorder-folders-on-the-search-path.html
  2 Commenti
WARRIOR24
WARRIOR24 il 14 Dic 2020
Modificato: WARRIOR24 il 14 Dic 2020
I do have it added to to same folder and the right path. When I run it, this is what the command window returns.
>> crc32
Not enough input arguments.
Error in crc32 (line 16)
data = uint8(data);
Ameer Hamza
Ameer Hamza il 14 Dic 2020
You need to call the function with an input argument. Instead of pressing the green run button, run the following in the command window
data = [1 10 2 4]; % example vector
crc32(data)

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Downloads in Help Center e File Exchange

Prodotti


Release

R2020a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by