求大神支招,运行程序在CCS3.3上出现 error: expected an expression

[复制链接]
9016|5
 楼主| 陌上花开ai 发表于 2015-11-2 21:46 | 显示全部楼层 |阅读模式
#include <stdio.h>
#include <csl.h>
#include <csl_chip.h>
#include <csl_irq.h>
#include <csl_gpt.h>
#include <csl_uart.h>
#include "Uart_Function.h"

/* Reference start of interrupt vector table   */
/* This symbol is defined in file, vectors.s55 */
extern void VECSTART(void);

/* Function/ISR prototypes */
interrupt void Timer0Isr(void);

/* Create a TIMER_Handle object for use with TIMER_open */
GPT_Handle          hGpt;
Uint16 Counter;
Uint16 EventId0;                 // 定时器0所对应的事件ID号
/****************************************************************/
/* Define and initialize the GPT module configuration structure */
/* Input fast peripheral clock is 100MHz                                                 */
/* Generate character interval interrupt                                                 */
/*--------------------------------------------------------------*/
/* 10etu                0x19708                1.042ms                                                                */
/* 12etu                0x1E870                1.250ms                                                                */
/* 14etu                0x239D8                1.459ms                                                                */
/* 20etu                0x32E10                2.084ms                                                                */
/* 40etu                0x65C20                4.168ms                                                                */
/****************************************************************/
GPT_Config  MyGptConfig = {
0,                                                         //Emulation management register
0,                                                         //GPIO interrupt control register
0,                                                         //GPIO enable register
0,                                                         //GPIO direction register
0,                                                         //GPIO data register
//0x39D8,                                         //Timer period register 1                (主频为200MHz)
//0x0002,                                         //Timer period register 2
0x56C4,                                         //Timer period register 1                (主频为300MHz)
0x0003,                                                 //Timer period register 2
0,                                                        //Timer period register 3
0,                                                         //Timer period register 4
GPT_GPTCTL1_RMK(                        //Timer control register 1
  GPT_GPTCTL1_TIEN_NOT_GATED,
  GPT_GPTCTL1_CLKSRC_VBUS,
  GPT_GPTCTL1_ENAMODE_CONTINUOUS,
  GPT_GPTCTL1_PWID_INACTIVE_1CYCLE,
  GPT_GPTCTL1_CP_CLOCK_MODE,
  GPT_GPTCTL1_INVIN_DONT_INVERT_OUTPUT,
  GPT_GPTCTL1_INVOUT_DONT_INVERT_OUTPUT
  ),                        
GPT_GPTCTL2_RMK(                        //Timer control register 2
  GPT_GPTCTL2_TIEN_NOT_GATED,
  GPT_GPTCTL2_CLKSRC_VBUS,
  GPT_GPTCTL2_ENAMODE_CONTINUOUS,
  GPT_GPTCTL2_PWID_INACTIVE_1CYCLE,
  GPT_GPTCTL2_CP_CLOCK_MODE,
  GPT_GPTCTL2_INVIN_DONT_INVERT_OUTPUT,
  GPT_GPTCTL2_INVOUT_DONT_INVERT_OUTPUT
  ),                       
GPT_GPTGCTL1_RMK(                //Global timer control register
  GPT_GPTGCTL1_PSC34_DEFAULT,
  GPT_GPTGCTL1_TIMMODE_DEFAULT,
  GPT_GPTGCTL1_TIM34RS_IN_RESET,
  GPT_GPTGCTL1_TIM12RS_IN_RESET,
  )                                       
};
/****************************************************************/
/*        函数名:                Config_Timer()                                                                         */
/*         功能:                配置一个字符发送周期的定时器                                        */
/****************************************************************/
extern void Config_Timer(void)
{
        /* Set IVPH/IVPD to start of interrupt vector table */
        IRQ_setVecs((Uint32)(&VECSTART));
         
        /* Temporarily disable all maskable interrupts */
        IRQ_globalDisable();   
       
        /* Open Timer 0, set registers to power on defaults */
        /* And return handle of Timer 0 */
        hGpt = GPT_open(GPT_DEV0, GPT_OPEN_RESET);
       
        /* Get Event Id associated with Timer 0, for use with */
        /* CSL interrupt enable functions.                    */         
        EventId0 = GPT_getEventId(hGpt);
       
        /* Clear any pending Timer interrupts */
        IRQ_clear(EventId0);
       
        /* Place interrupt service routine address at */
        /* associated vector location */
        IRQ_plug(EventId0,&Timer0Isr);
       
        /* Write configuration structure values to Timer control regs */
        GPT_config(hGpt, &MyGptConfig);
       
        /* Enable Timer interrupt */
        IRQ_enable(EventId0);            
       
        /* Enable all maskable interrupts */
        IRQ_globalEnable();      

}       

/********************************************************************/
/*        函数名:                Timer0Isr()                                                                                 */
/*         功能:                当定时时间到,发送一个命令字符并且字符发送计数器加1        */
/********************************************************************/
interrupt void Timer0Isr(void)
{

    UART_RSET(URTHR, DestData[Counter]);
    Counter++;       
}
这个程序出现"Timer.c", line 62: error: expected an expression
这样的错误,该怎样修改呀,改了好几天都找不到原因,希望大神支招,小女子在这谢谢您了。
zhangmangui 发表于 2015-11-2 22:34 | 显示全部楼层
语法错误     一时看不出来   
建议你一部分一部分注释看看是哪里的错误  
 楼主| 陌上花开ai 发表于 2015-11-3 09:07 | 显示全部楼层
谢谢您的评论,注释能看懂,但是不知道怎么改,网上也搜了很多,还是没解决,这样的错误一般是哪里出错呢?
lefeng 发表于 2015-11-10 19:53 | 显示全部楼层
"Timer.c", line 62看看这一行,还有前后行是不是语法错误了
Thor9 发表于 2015-11-15 21:31 | 显示全部楼层
楼主怎么改的呢
雨水 发表于 2021-2-18 11:41 | 显示全部楼层
这个程序出现"Timer.c", line 62: error: expected an expression,看看这行前后是否多加了一些非法字符,比如#define Front_Left        PBout(14); 宏定义后面多了一个“;”分号,就会报错 expected an expression
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

16

帖子

0

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