首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mikroc中的函数声明

Mikroc中的函数声明
EN

Stack Overflow用户
提问于 2015-02-15 03:49:54
回答 2查看 2.9K关注 0票数 0

我用Mikroc写了一个直流电机速度控制的代码,但在构建过程中,它给出了错误作为所有变量的“未声明标识符”。有谁能帮我解决代码中的问题吗?我使用了pic18f8722。我用Java编写过代码,但用c编写的代码很少,在声明变量和函数时有什么问题吗?下面是代码..。

代码语言:javascript
复制
float pid(int actualOut){
    error=setPoint-actualOut;
    pOut=error*p;
    iOut=iOut+error*i;
    if(iOut>255)
        iOut=255;
    else if(iOut<0)
        iOut=0;
    dOut=(error-lastError)*d;
    out = pOut+iOut+dOut;
    lastError=error;
    if(out>255)
        out=255;
    else if(out<0)
        out=0;
    return out;
}

void pwm(short duty){
    short dutyCycle=duty;
    PWM1_Init(5000);
    PWM1_Start();
    PWM1_Set_Duty(dutyCycle);
    delay_ms(500);
}

Int feedback(){
    T0CON=0xC2;
    TMR0l=193;
    INTCON=0xA0;
    TMR1l=0;
    TMR1H=0;
    T1CON=0x87;
    s=1;
    while(s==1){}
    actualOut=(60*2*TMR1L)/24;
    return actualOut;
}

void interrupt(){
    T1CON=0x00;
    s=0;
}

void main() {

    float p=100,i=200,d=10;
    int setPoint=100,s=1;
    int actualOut=0;
    float pOut=0,iOut=0,dOut=0;
    float out=16;
    int error=0,lastError=0;
    short duty;

    TRISC = 1;
    TRISG = 0;


    while(1){

        float out = pid(actualOut);
        duty=(short)out;
        pwm(duty);
        int actualOut = feedback();
    }
}
EN

回答 2

Stack Overflow用户

发布于 2015-02-15 05:00:44

由于您使用的是PIC处理器,因此您应该阅读:http://www.microcontrollerboard.com/pic_interrupt.html,其中详细介绍了如何设置中断处理程序等

http://ww1.microchip.com/downloads/en/AppNotes/00937a.pdf,讨论了PIC上PID软件的概念

包含适当源代码的http://www.microchip.com/wwwAppNotes/AppNotes.aspx?appnote=en020434,以及与pic18f8722相关的其他文档

源代码(在汇编中)显示需要使用某些包含文件(# .inc文件)。

将汇编文件转换为C文件的过程将是用C编写代码的一个很好的复习

注意:这些文件太长,无法在此处插入

票数 0
EN

Stack Overflow用户

发布于 2016-01-14 17:42:26

您可以在函数pwm#define和管脚分配等下面声明该函数,您可以将其编写为:

代码语言:javascript
复制
void pwm(short);

上面的声明可能会解决一些问题,但我仍然在努力声明函数的返回类型。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28519605

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档