안녕하세요
리눅스 기반에서 GPIO를 High Low로 직접 설정하여 PWM 파형을 만들어야 하는 상황입니다.
PWM으로 출력되는 하드웨어 핀들이 모두 사용중이라, 부득이하게 GPIO 핀 하나를 PWM처럼 사용해야 합니다.
그런데 문제가 하나 있는데요,
핀을 High Low로 변경하면서 파형을 만드는 중에 태스크 스케줄링이 발생하여
스케줄되는 시간동안은 파형을 만들어내지 못하는 상황입니다.
4KHz의 주파수를 만들어야 하는데, struct timer_list 를 이용하여 add_timer() 함수도 써봤는데요,
제가 잘 모르는 탓인지, 500Hz 이상의 더 빠른 주파수는 만들어 내지 못합니다. HZ 계산의 한계인것으로 보이는데요.
혹시 이와 관련해서 스케줄링을 피하거나, 이것과 상관없이 일정 주파수를 만들어내는 방법이 있을까요!?
도와주세요 여러분 ㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜㅜ