도와주세요!!
다른 분들이 작성한 글을 보고 해보려했더니 쉽지가 않네요..
일단 CKEN |= CKEN0_PWM0;
이구문 부터해서 찾지를 못하고 있어요...
억지로 디파인해서 하면 volatile앞에 문법적오류...ㅠㅜ
괜찮으시다면 간단한 PWM소스도 보여주셧으면합니다.
어찌어찌하여 include/arch-pxa/pxa-regs.h라는데에서 관련 레지스터들을 찾는데 성공했습니다.
그러나................헤더파일을 등록하고 컴파일 결과
다음과 같은 에러가 주루룩 나오네요...문제점을 알려주세요...
왜 이런결과가...
parse error before "_regbase"이런 에러 문구가..
CKEN...PWM_CTRL0...PWM_PERVAL1..등 관련 라인에 다 에러가 나오네요..ㅜㅡ
빠른 답변 부탁드려요
이런...또 올립니다...make는 되었는데...PWM신호가 안나온다는....누가 제발좀 도와주세요..
그저 PWM만 나오는 소스만이라도 좀...ㅠㅜ
어찌 어찌하여...DC모터가 돌아가길래 이제 되는구나 했더니..한넘만 도네요...PWM0만...그것도 펄스가 나와서 그런게 아니고 그저 high신호만 뜬 상태로요....
소스는..
입출력설정후
GAFR0_U |=(1<<1);
GAFR0_U |=(1<<2);
CKEN | =CKEN0_PWM0;
PWM_CTRL0=0x90;
PWM_PWDUTY0 = 1000;
PWM_PERVAL0 = 2000;
PWM0 ->1로 하고 반복한 소스입니다. 디바이스쪽에 올렸고 ioctl함수에 넣어서 사용하고 있습니다.
K2.611 이상의 기준으로 아래와 같이 설정하시면 PWM0, PWM1 을 사용하실수 있습니다.
pxa_gpio_mode( GPIO16_PWM0 ); // arch/arm/mach-pxa/generic.c include/asm-arm/arch-pxa/pxa-reg.h
pxa_gpio_mode( GPIO17_PWM1 );
K2.4.19 에서는 아래와 같이 사용하면 됩니다.
set_GPIO_mode( GPIO16_PWM0);
그리고 클럭의 설정이나 활성화는 직접 레지스터를 제어하세요
레지스터의 이름은 include/asm-arm/arch-pxa/pxa-reg.h 에서 확인하시고 사용하시면 됩니다.
^^
혼자 이리저리 해보고 알아냈네요...쩝
멍청하게...GPIO 부가기능 설정부분하고 CKEN등의 설정을 뒤바꿔서 한 이유더군요...
CKEN등을 먼저 프로그램하고 GPIO설정을 하니..저런 에러가 되네요...
GPIO설정 부터 먼저하니 잘됩니다. ㅎㅎ