一条语句看不懂

[复制链接]
3556|13
 楼主| 冰清玉洁 发表于 2011-4-30 09:07 | 显示全部楼层 |阅读模式
《My_First_Five_PSoC3_Designs1》里面,第一个工程,在timing.c中有一条语句是 (void)PWM_Timer_STATUS;,前后都没有定义,是什么意思啊。。。
wenfen 发表于 2011-4-30 09:17 | 显示全部楼层
你用到了PWM模块吧
 楼主| 冰清玉洁 发表于 2011-4-30 09:23 | 显示全部楼层
wenfen 发表于 2011-4-30 09:39 | 显示全部楼层
你可以看PWM的datasheet,里面应该有定义
 楼主| 冰清玉洁 发表于 2011-4-30 09:49 | 显示全部楼层
找了啊,没有找到啊
zhuhuis 发表于 2011-4-30 10:24 | 显示全部楼层
那个是给PWM Reg 复位的,进入中断,pwm 状态要复位不是?
 楼主| 冰清玉洁 发表于 2011-4-30 12:53 | 显示全部楼层
哦,明白了
mbutterfly 发表于 2011-4-30 23:24 | 显示全部楼层
没定义的应该是库函数吧
zdlulu 发表于 2011-5-6 16:07 | 显示全部楼层
这样啊。
bishufeng 发表于 2011-6-3 14:38 | 显示全部楼层
//----------------------------------------------------------------------------
// C main line
//----------------------------------------------------------------------------

#include <m8c.h>        // part specific constants and macros
#include "PSoCAPI.h"  // PSoC API definitions for all User Modules
#pragma interrupt_handler Timer8_1ISR
#include "DigBuf_1.h"
BYTE Second;
void main(void)
{M8C_EnableGInt;
Timer8_1EnableInt();
Timer8_1Start();
void Timer8_1ISR()
  { int a,b,c,d,e,f,g,h;
    for(a=0;a<=3;a++)
       { if(a=0)
         {AMUX4_1InputSelect(O1h);
            AMUX4_4InputSelect(0x00);
                INSAMP_1Start(INSAMP_HIGHPOWER);
                INSAMP_SetGain(INSAMP_G4_00);
                CMPPRG_1SetRef(CMPPRG _REF0_021); // Set RefValue
        CMPPRG_1Start(CMPPRG_MEDPOWER);
                DigBuf_1EnableInt();
                void DigBuf_1Start(void);
                void DigBuf_1Stop(void);
                }
           if(a=1)
             {AMUX4_1InputSelect(0x01);
            AMUX4_4InputSelect(PORT0_0 0x01);
                INSAMP_1Start(INSAMP_HIGHPOWER);
                INSAMP_SetGain(INSAMP_G4_00);
                CMPPRG_1SetRef(04h); // Set RefValue
        CMPPRG_1Start(CMPPRG_MEDPOWER);
                DigBuf_2EnableInt();
                void DigBuf_2Start(void);
                void DigBuf_2Stop(void);
                }
        if(a=2)
          {AMUX4_1InputSelect(0x02);
            AMUX4_4InputSelect(0x02);
                INSAMP_1Start(INSAMP_HIGHPOWER);
                INSAMP_SetGain(INSAMP_G4_00 30h);
                CMPPRG_1SetRef(CMPPRG _REF0_021); // Set RefValue
        CMPPRG_1Start(CMPPRG_MEDPOWER);
                DigBuf_3EnableInt();
                void DigBuf_3Start(void);
                void DigBuf_3Stop(void);
                }
        if(a=3)
          {AMUX4_1InputSelect(0x03);
            AMUX4_4InputSelect(0x03);
                INSAMP_1Start(INSAMP_HIGHPOWER);
                INSAMP_SetGain(INSAMP_G4_00);
                CMPPRG_1SetRef(CMPPRG _REF0_021); // Set RefValue
        CMPPRG_1Start(CMPPRG_MEDPOWER);
                DigBuf_1EnableInt();
                void DigBuf_4Start(void);
                void DigBuf_4Stop(void);
                }
          
        }
  }
    // Insert your main routine code here.
}
bishufeng 发表于 2011-6-3 14:39 | 显示全部楼层
错误很多 能帮我看看都哪些地方有错误  组要是函数使用的问题
yulindee 发表于 2011-6-3 14:53 | 显示全部楼层
1、看看你的头文件是不是都包含了;
2、 看看你for循环里的3个if ,先不说效率,里面的判断有问题,例如
   if(a = 0)  最好改成 if (a == 1)     出现了 “=”与“==”的误用
3、函数体内调用函数的格式有问题,例如
  void DigBuf_1Start(void); 最好改成  DigBuf_1Start();
yulindee 发表于 2011-6-3 15:01 | 显示全部楼层
TO 11楼:
     从上面你的这段代码来看,我给你两个建议
1、直接去从CYPRESS官网down一些例程和模块使用手册
2、多看看一些C的基础书,看看datasheet了解之后再下手!
呵呵,这只是我个人建议哦!
 楼主| 冰清玉洁 发表于 2011-6-3 20:25 | 显示全部楼层
多谢楼上几位,可惜结贴了,不能给你们分了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

307

主题

3250

帖子

5

粉丝
快速回复 在线客服 返回列表 返回顶部