• 4636阅读
  • 1回复

超级菜鸟求qt编写的步进电机控制代码 [复制链接]

上一主题 下一主题
离线zscshark
 
只看楼主 倒序阅读 楼主  发表于: 2010-12-02
刚学qt不到两个星期,想写个控制步进电机的代码,一直出错,各位高手能否帮忙写个给我参考。用的是学校的ARM9,linux平台
这边分C写的代码:
#include <stdio.h>
#include <fcntl.h>
#include <string.h>
#include <sys/ioctl.h>

#define DCM_IOCTRL_SETPWM             (0x10)
#define DCM_TCNTB0                (16384)

static int dcm_fd = -1;
char *DCM_DEV="/dev/dcm/0raw";

void Delay(int t)
{
    int i;
    for(;t>0;t--)
        for(i=0;i<400;i++);
}

/****************************************************************/
int main(int argc, char **argv)
{
    int i = 0;
    int status = 1;
    int setpwm = 0;
    int factor = DCM_TCNTB0/1024;
    if((dcm_fd=open(DCM_DEV, O_WRONLY))<0){
        printf("Error opening %s device\n", DCM_DEV);
        return 1;
    }
    
    
    for (;;) {
        for (i=-512; i<=512; i++) {
            if(status == 1)
                setpwm = i;
            else
                setpwm = -i;
            ioctl(dcm_fd, DCM_IOCTRL_SETPWM, (setpwm * factor));            
            Delay(500);
            printf("setpwm = %d \n", setpwm);
        }
        status = -status;
    }
    
    close(dcm_fd);    
    return 0;
}
我现在想写个qt的界面程序放到arm上运行,通过界面的按钮来控制电机的转速和方向,但不知道要怎么修改这个c的程序,请各位高手指点一二
离线dzmcs
只看该作者 1楼 发表于: 2010-12-10
关键是你的arm上把qt移植过去没有?如果有,qt的部分就是用几个控件,控制电机的还用c写成函数,QT CPP 中包含c的头文件,记得extern "C"{#include "***.h"},然后写相应的信号好槽,调用你的c功能函数,我是这样想的,应该没问题吧。
快速回复
限100 字节
 
上一个 下一个