Pulsout 포트, 간격
포트 : 사용가능한 I/O 포트를 가르키는 정수형 변수/상수 |
간격 : 펄스폭 (최대 65535까지 사용가능) |
하나의 짧은 펄스를 출력하는 명령입니다. 포트의 상태가 Low였다면, High펄스를 출력합니다.
간격을 10으로 하면, 대락 2.6mS의 펄스가 출력됩니다. 간격을 100으로 하면, 대락 23mS의 펄스가 출력됩니다.
항상 정확한 펄스의 폭을 보장하지 않으므로, 정밀한 제어에는 사용지 마십시오. 펄스가 나가는 동안 인터럽트루틴을 수행하러 가거나, 레더로직이 수행될 수 있으며, 이때에는 펄스폭이 더 늘어나게 됩니다.
Low 8 ' 8번포트를 Low로 정리 Pulsout 8,100 ' 23밀리초정도의 High 단발펄스가 나옵니다.
Pulsout명령은 실제로는 아래와 같은 함수가 실행되는 것입니다.
Sub Pulsout(__pt As Byte, __ln As Word) Dim __dl1 As Integer Reverse __pt For __dl1=0 To __ln Next Reverse __pt End Sub
중간에 For..Next 루프를 사용해서 시간을 딜레이 해줍니다.
Delay명령을 중간에 넣은 것과 동일합니다. 이 방법은 프로그램의 흐름을 방해하기 때문에 권장하지 않습니다. 아래 링크에서 소개하는 방법을 쓰면 흐름을 방해하지 않고 일정시간동안 펄스를 출력할 수 있습니다.