这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » Tasking,C196 请帮我看看这段Tasking C196程序,很短但有问

共2条 1/1 1 跳转至

Tasking,C196 请帮我看看这段Tasking C196程序,很短但有问题

院士
2006-09-17 18:14:16     打赏
Tasking,C196 请帮我看看这段Tasking C196程序,很短但有问题



关键词: Tasking     帮我     看看     这段     程序     很短     有问    

院士
2006-12-22 22:43:00     打赏
2楼
问 #pragma model(kc)
#include <kc_sfrs.h>
#include <kc_funcs.h>
#include <stdio.h>
#include <FPAL96.h>
#include <float.h>
typedef struct PID{
     long   SetPoint;
} PID;

long PIDCalc(PID * pp)
{
     return(pp->SetPoint);
}

void main(void)
{
     PID      sPID;
     long     rOut;
     sPID.SetPoint=40;
     rOut=PIDCalc(&sPID);
     while(1);
}


我使用的是伟福的ET2000/T仿真器
使用WAVE6000软件开发环境
C语言编译器 tasking C for 196_296 6.0r1

这个程序是好的,程序最后运行到while(1) 1: 但这个程序不能运行我把 long 改为 float  程序如下:


#pragma model(kc)
#include <kc_sfrs.h>
#include <kc_funcs.h>
#include <stdio.h>
#include <FPAL96.h>
#include <float.h>
typedef struct PID{
     float   SetPoint;
} PID;

float PIDCalc(PID * pp)
{
     return(pp->SetPoint);
}

void main(void)
{
     PID      sPID;
     float    rOut;
     sPID.SetPoint=40;
     rOut=PIDCalc(&sPID);
     while(1);
}



程序调用 PIDCalc() 函数后 ,返回 main() 第一条语句执行,然后继续调用
PIDCalc()   。。。。。。始终未执行到  while(1)语句

不知道是怎么回事情

是不是tasking C196不支持浮点数?
但编译没有错误

tasking c196 中有浮点库  FLP96.lib
2: 问题已经解决   伟福仿真器没设置好,没把浮点库fpal96.lib包含进来~~~

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]