지난변 피에조에 대한 답변 정말 감사합니다.
근데, 사실 소스를 보면 아직도 피에조에다가 어디서 값을 전달하는지를 모르겠습니다 ㅡㅡ;
물론 주파수 범위를 모두 바꾸고 버스스위치로 옥타브 설정까지 모두 했지만,
piezo_demo 소스를 보시면
저번에도 여쭤봤는데, piezo<=p_clk로 직접적으로 피에조로 버튼에 대한 주파수값을 전달이 어디서 이루어 지는지가 궁금합니다.
--------------------------------------------------
그리고, 6개의 버튼으로 피아노 건반을 표현하기엔 조금 무리가 있는 듯 싶어서
키패드를 이용하려고 하는데,
이 키패드는 열이나 행의 버튼에서 사건이 발생해야 인식하는 장치라고
소스를 보면서 해석을 했는데,
그 소스에 버튼과 같이 피에조의 출력을 위해
PROCESS(clk) BEGIN --Press Button & Sound Effect
if clk'event and clk = '1' then
case keypadrow is
when "001" =>
case keypadcol is
when "0001" =>
if cnt = do then
cnt <= 0;
else
cnt <= cnt + 1;
end if;
라는 식으로 001에 해당하는 키패드 열일 때, 다시 키패드 행에 대한 case에서
0001에 해당하는 키패드의 사항 중
만약 카운트가 do... 라는 식으로 여기서부튼 버튼과 똑같이 설정을 했는데 불구하고
소리는 모두 동일한 음이 출력이 되는데
몇일을 키패드와 피에조를 함께 두고 고민을 해봐도 어느 부분이 문제인지 감이 오질 않네요;;
-----
마지막으로, 컴퍼넌트를 이용해서 다른 파일을 연계할 때, 컴퍼넌트 내에서
입출력 포트를 설정하는 것은 pin 설정에서 인식이 되지 않아,
메인 파일에서 컴퍼넌트에서 사용하는 인풋 아웃풋 변수를 또 선언해 줬더니
파일이 작동하지 않던데 (당연한 것 같기도 하네요 -_-;)
원래 컴퍼넌트에서 인, 아웃풋 설정은 인식이 되지 않는건가요?
너무 긴 질문... 죄송합니다;
Combo II를 이용해서 좀 더 완성도 높은 키패드 피아노를 제작하려다 보니
이것저것 자꾸 추가를 하게 되네요....
수고하세요~ |