device driver로 gpio 사용에 관한 질문입니다...(omap3530)
devkit8000보드(omap3530)으로 프로젝트를 수행하고 있는 학생입니다.
gpio를 이용해서 스텝 모터 드라이버를 만들어 보려고 합니다.
먼저 gpio를 제어하는 방법을 알기 위해서
메뉴얼과 여러 문서를 이용해서 간단한 driver 프로그램을 만들었습니다.
내용은 driver를 끼워넣을때 gpio를 output으로 설정하고
핀에서 high 신호를 만들어 내는 것입니다. 소스 내용은..
static int
__init initmotor(void)
{
int dev = 0;
int result = 0;
result = alloc_chrdev_region(&dev, motor_minor, motor_devs, "motor");
motor_major = MAJOR(dev);
motor_device = kmalloc(sizeof(struct motor_dev), GFP_KERNEL);
memset(motor_device, 0, sizeof(struct motor_dev));
setupCdevmotor(motor_device);
omap_request_gpio(132);
gpio_direction_output(132,1);
gpio_set_value(132, 1);
if(result == 0)
printk(KERN_ALERT "HELLO, motor!! major num is %d\n",motor_major);
return 0;
}
요렇습니다... 여러 방면으로 시도를 해 보았는데 쉽지 않네요...
혹시 해보신분 있으면 조언 부탁드립니다.
GPIO api
http://www.kernel.org/doc/Documentation/gpio.txt
이것을 참고하세요.
쉽게 말씀드리면,
gpio_request(132, "motor");
gpio_direction_output(132, 1);
이러면 됩니다.
ㅋㅋㅋ
소중한 답변 감사합니다 ㅎㅎㅎ 참고해서 해보겠습니다.
댓글 달기