2015-01-23 10 views
1

simulink에서 stateflow 로의 ascii 문자를 입력해야하며 입력이 기존 ascii 문자와 일치하는지 확인해야합니다. 누구든지이 문제를 해결하도록 도와 줄 수 있습니까? 큰 도움이 될 것입니까?simulink에서 ascii 문자를 입력하는 방법

예 :

내가 시뮬에서 스테이트 플로우의 입력으로 ASCII 문자 'AF'를주는 경우에

. 조건에있는 기존 ASCII 문자와 일치하는 경우 출력을 1로 생성해야합니다.

답변

1

Simulink/Stateflow는 숫자 데이터를 선호합니다. uint8 또는 uint16 데이터 형식을 사용하여 ASCII 값의 정수 표현을 사용해야하며 이는 비교를 거의하지 않습니다.

+0

우리가 시뮬/스테이트 플로우의 입력으로이어야 문자열/문자를 줄 수 없습니까? –

+0

[enumerated] (http://www.mathworks.com/help/simulink/ug/using-enumerated-data-in-simulink-models.html) 데이터 형식은 사용할 수 있지만 문자열이나 문자는 사용할 수 없습니다. –

0

Matlab은 하나의 char과 char이있는 문자열을 명확하게 구분하지 않으며, 알고있는 한 stateflow에서 문자열 유형을 사용할 수 없습니다. 입력을 정수로 변환 한 다음 상태 차트 내부의 정수 만 비교하면됩니다. 당신은 매트랩 정수로 문자를 변환하려면이 기능을 사용할 수 있습니다 :

function [ integer ] = atoi(char) 
%ATOI Ascii To Integer converts char to int 
% 

integer = char - '0' + '0' ; %matlab seems a bit lunatic when it comes to chars 

end 
관련 문제