Chinaunix首页 | 论坛 | 博客
  • 博客访问: 544622
  • 博文数量: 150
  • 博客积分: 5010
  • 博客等级: 大校
  • 技术积分: 1861
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-17 00:19
文章分类

全部博文(150)

文章存档

2011年(1)

2009年(14)

2008年(135)

我的朋友

分类: LINUX

2008-09-02 13:21:12


int get_original_value( const char *filename, UINT16 *data )
{
     int ret;
     char message[MESSAGE_LEN];
     FILE *fp=NULL;
     int tmp;
     memset( message ,0, sizeof(message) );
     if( !(fp=fopen( filename , "r")) ) {
         TCMD_TRACE( "ERR: open voltage file failed\n" );
         return ERROR_ADC;
     }
    
     ret = fread( message , MESSAGE_LEN, 1, fp );
     message[strlen(message)-1] = '\0';
     ret = sscanf(message, "%x", &tmp);
     *data = tmp;

     if (ret < 1 || ret > 3) {
    TCMD_TRACE("ERR: data error\n");
    fclose(fp);
    return ERROR_ADC;
     }

    fclose(fp);
    return 0;
}




if( !(fp=fopen( filename , "r")) )中我一开始写成了
if(!fopen(filename , "r"))
造成了下面的语句
fread( message , MESSAGE_LEN , 1 , fp) 错误,因为此时fp 并没有赋值。
阅读(1005) | 评论(0) | 转发(0) |
0

上一篇:[code]umask function

下一篇:segment fault

给主人留下些什么吧!~~