打印

一条语句看不懂

[复制链接]
2369|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,里面应该有定义

使用特权

评论回复
5
冰清玉洁|  楼主 | 2011-4-30 09:49 | 只看该作者
找了啊,没有找到啊

使用特权

评论回复
6
zhuhuis| | 2011-4-30 10:24 | 只看该作者
那个是给PWM Reg 复位的,进入中断,pwm 状态要复位不是?

使用特权

评论回复
7
冰清玉洁|  楼主 | 2011-4-30 12:53 | 只看该作者
哦,明白了

使用特权

评论回复
8
mbutterfly| | 2011-4-30 23:24 | 只看该作者
没定义的应该是库函数吧

使用特权

评论回复
9
zdlulu| | 2011-5-6 16:07 | 只看该作者
这样啊。

使用特权

评论回复
10
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.
}

使用特权

评论回复
11
bishufeng| | 2011-6-3 14:39 | 只看该作者
错误很多 能帮我看看都哪些地方有错误  组要是函数使用的问题

使用特权

评论回复
12
yulindee| | 2011-6-3 14:53 | 只看该作者
1、看看你的头文件是不是都包含了;
2、 看看你for循环里的3个if ,先不说效率,里面的判断有问题,例如
   if(a = 0)  最好改成 if (a == 1)     出现了 “=”与“==”的误用
3、函数体内调用函数的格式有问题,例如
  void DigBuf_1Start(void); 最好改成  DigBuf_1Start();

使用特权

评论回复
13
yulindee| | 2011-6-3 15:01 | 只看该作者
TO 11楼:
     从上面你的这段代码来看,我给你两个建议
1、直接去从CYPRESS官网down一些例程和模块使用手册
2、多看看一些C的基础书,看看datasheet了解之后再下手!
呵呵,这只是我个人建议哦!

使用特权

评论回复
14
冰清玉洁|  楼主 | 2011-6-3 20:25 | 只看该作者
多谢楼上几位,可惜结贴了,不能给你们分了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

307

主题

3250

帖子

5

粉丝