社区导航

 

搜索
查看: 1341|回复: 7

[讨论] 我想用串口显示出G2553内部温度的值,但在编译的时候出现了莫名的错误,对这个错误...

[复制链接]

76

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2015-8-16 15:15 | 显示全部楼层 |阅读模式
本帖最后由 易爆炸弹 于 2015-8-16 15:18 编辑




我想用串口显示出G2553内部温度的值,但在编译的时候出现了莫名的错误,请问一下哪错了啊?




#68 expected a "}"        msp430g2xx3_usci_uart_9600.c(这是编译的错误)









#include
#include
#include
#include  "msp430g2553.h"
/*
* ======== Grace related declaration ========
*/
extern void CSL_init(void);
char mystring[50] = "300 my test program!\r\n";
void ADC10_init(void);

void myputs(char * string);
/*
*  ======== delay ========
*/
void delay(unsigned int time_delay)
{
    unsigned int i,j,k,a;
    for(i = 0; i < time_delay; i++)
    {
            for(j = 0; j < 20; j++)
                    {
                            for(k = 0; k < 20; k++)
                                    {
                                            for(a = 0; a < 20; a++)
                                                    __delay_cycles(8);
                                    }
                    }
    }
}

/*
*  ======== main ========
*/
int main(void)
{
        int result;
        int temp;
        int IntDeg;

        CSL_init();
        ADC10_init();
    myputs(mystring);

    myputs("msp430 startup!erererer\r\n");

    __bis_SR_register(LPM0_bits + GIE);       // Enter LPM0, interrupts enabled

    while(1)
        {
          ADC10CTL0 |= ENC + ADC10SC;            // Sampling and conversion start
     //     _bis_SR_register(CPUOFF + GIE);                // LPM0 with interrupts enabled
          __delay_cycles(1000);
          //-----ADC转换完成中断唤醒CPU后才执行以下代码-----
          temp = ADC10MEM;                                                        //读取AD采样值
          IntDeg= temp*4225/1024 - 2777;                //转换为摄氏度,并10倍处理
while(1)
    {
            ADC10CTL0 |= ENC+ADC10SC;
            while((ADC10CTL0&ADC10IFG)==0);
            //result = ADC10MEM;
            IntDeg=(unsigned int)((result-746)/(0.24069)+286);//P64 in the book

            mystring[0] = (IntDeg/1000) + '0';
            mystring[1] = ((IntDeg%1000)/100) + '0';
            mystring[2] = ((IntDeg%100)/10) +'0';
            mystring[3] = (IntDeg%10) + '0';


            myputs(mystring);
            delay(50);

    }


}

/*
*  ======== string output ========
*/
void myputs(char * string)
{
        unsigned char num;

        for( num = 0; num < strlen(string); num++ )
                {
                        while (!(IFG2&UCA0TXIFG));                // USCI_A0 TX buffer ready?
                        UCA0TXBUF = string[num];                    // TX -> RXed character
                }
}


void USCI0RX_ISR(void)
{
    while (!(IFG2&UCA0TXIFG));                // USCI_A0 TX buffer ready?
    UCA0TXBUF = UCA0RXBUF;                    // TX -> RXed character
}

void ADC10_init(void)
{
        ADC10CTL0 &= ~ENC;
        ADC10CTL0 = ADC10IE + ADC10ON + REFON + ADC10SHT_3 + SREF_1;
    ADC10CTL1 = CONSEQ_0 + ADC10SSEL_0 + ADC10DIV_3 + SHS_0 + INCH_10;
      __delay_cycles(30000);
    ADC10CTL0 |= ENC;
}
/******************************************************************************************************
* 名       称:ADC10_ISR_HOOK
* 功       能:ADC转换完成后唤醒CPU
* 入口参数:无
* 出口参数:无
* 说       明:直接从CCS的Example中移植过来
* 范       例:无
******************************************************************************************************/
#pragma vector=ADC10_VECTOR
__interrupt void ADC10_ISR_HOOK(void)
{
        _bic_SR_register_on_exit(LPM4_bits);
}



回复

使用道具 举报

1777

TA的帖子

0

TA的资源

五彩晶圆(初级)

Rank: 7Rank: 7Rank: 7

发表于 2015-8-16 16:59 | 显示全部楼层
语法错误,和}这个大括号有关,你再查一下代码

点评

恩,已经解决了  详情 回复 发表于 2015-8-16 17:37

回复

使用道具 举报

2243

TA的帖子

0

TA的资源

纯净的硅(高级)

Rank: 6Rank: 6

发表于 2015-8-16 17:22 | 显示全部楼层
提示这么明显啊,程序少分号啊,看了下,在while(1)那

点评

眼花  详情 回复 发表于 2015-8-16 17:38

回复

使用道具 举报

76

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2015-8-16 17:37 | 显示全部楼层
bobde163 发表于 2015-8-16 16:59
语法错误,和}这个大括号有关,你再查一下代码

恩,已经解决了

回复

使用道具 举报

76

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2015-8-16 17:38 | 显示全部楼层
数码小叶 发表于 2015-8-16 17:22
提示这么明显啊,程序少分号啊,看了下,在while(1)那

眼花

回复

使用道具 举报

1366

TA的帖子

0

TA的资源

纯净的硅(中级)

Rank: 5Rank: 5

发表于 2015-8-17 23:29 | 显示全部楼层
很明显,第一个while(1)下面少了这个 “}”符号

点评

谢谢回答,已经解决了  详情 回复 发表于 2015-8-18 09:27

回复

使用道具 举报

76

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2015-8-18 09:27 | 显示全部楼层
强仔00001 发表于 2015-8-17 23:29
很明显,第一个while(1)下面少了这个 “}”符号

谢谢回答,已经解决了

点评

不要在犯这些低级错误了  详情 回复 发表于 2015-8-18 22:43

回复

使用道具 举报

1366

TA的帖子

0

TA的资源

纯净的硅(中级)

Rank: 5Rank: 5

发表于 2015-8-18 22:43 | 显示全部楼层
易爆炸弹 发表于 2015-8-18 09:27
谢谢回答,已经解决了

不要在犯这些低级错误了

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

关闭

站长推荐上一条 1/7 下一条

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

Archiver|手机版|小黑屋|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2020-5-30 03:24 , Processed in 0.254062 second(s), 29 queries , Gzip On, MemCache On.

快速回复 返回顶部 返回列表