导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→C51编程:C51 高手请进  [劲风]

 *第6017篇: C51编程:C51 高手请进

  
楼 主:劲风 2002年11月6日15:56
 C51编程:C51 高手请进  
我用Keil c51 V6.23编译下面的C程序

# include<stdio.h>                  /* 预处理命令 */
# include<reg51.h>        

char max (char x, char y);            /* 功能函数max及其形式参数说明 */

main() {                      /* 主函数 */
        char a, A, c;               
        SCON=0x52;                   /* 8051单片机串行口初始化 */
        TMOD=0x20;
        TCON=0x69;
        TH1=0x0F3;
        scanf ("%c  %c", &a, &A);     /* 输入变量a和b的值 */
        c= max (a,A);                 /* 调用max函数 */
        printf ( " \n max =%c \n ", c);   /* 输出变量c的值 */
     }                              /* 主程序结束 */

char max (char x ,  char y) {             /* 定义max函数, x、y为形式参数*/
        if ( x > y )  return (x);      /* 将计算得到的最大值返回到调用处*/
        else  return(y) ; 
     }                              /* max函数结束 */
后无法建构对象错误显示:
c100:unprintable character 0xA3 skipped
c100:unprintable character 0xBB skipped
c141:syntax error near 'scon'

哪位高手帮忙解答一下?不胜感激!

  
2楼:chessman 2002年11月6日16:14
 建议
    在你的编译环境下是否支持printf 命令?
    编一个小程序试一下就可以了。
  
3楼:chenerbox 2002年11月6日16:19
 是不是你的中文注释的问题?去掉试试
  
4楼:劲风 2002年11月6日16:24
 全部去掉了也不行
我用的是D版是不是它的问题?
  
5楼:chenerbox 2002年11月6日16:36
 你的分号有问题,不是英文的分号,改掉就好了
  
6楼:tsf1978 2002年11月6日17:30
 你的分号确实有问题,不要在中文方式下输入英文
  
7楼:shaoximing99 2002年11月6日21:23
 请问:scanf函数输入是单片机的输入还是就算机的输入?
  
8楼:chenerbox 2002年11月6日21:33
 你用单片几的编译器编译那就是单片几的输入,你要用pc的c编译器编译就是计算机得输入。就你上边的程序来说,你编译后要烧到片子里,当然是单片几的输入
  
9楼:shaoximing99 2002年11月6日23:11
 先感谢chenerbox,再问用scanf函数时,片外数据线(P0)接键盘,用printf函数时接显示器?
  
10楼:chenerbox 2002年11月7日01:50
 单片几的scanf 和printf都是从单片几串口输入输出。你也可以改getkey()和putchar()来实现你自己的输入输出。
  
11楼:guest 2005年3月12日12:47
 [quote][b]以下是引用[i]劲风
以下是引用劲风在2002-11-6 15:56:00的发言:
C51编程:C51 高手请进  我用Keil c51 V6.23编译下面的C程序

 # include  <stdio.h>                    /* 预处理命令 */
 # include  <reg51.h>          

 char max (char x, char y);            /* 功能函数max及其形式参数说明 */

 main() {                      /* 主函数 */
         char a, A, c;               
         SCON=0x52;                   /* 8051单片机串行口初始化 */
         TMOD=0x20;
         TCON=0x69;
         TH1=0x0F3;
         scanf ("%c  %c", &a, &A);     /* 输入变量a和b的值 */
         c= max (a,A);                 /* 调用max函数 */
         printf ( " \n max =%c \n ", c);   /* 输出变量c的值 */
      }                              /* 主程序结束 */

 char max (char x ,  char y) {             /* 定义max函数, x、y为形式参数*/
         if ( x >   y )  return (x);      /* 将计算得到的最大值返回到调用处*/
         else  return(y) ; 
      }                              /* max函数结束 */
 后无法建构对象错误显示:
 c100:unprintable character 0xA3 skipped
 c100:unprintable character 0xBB skipped
 c141:syntax error near 'scon'

 哪位高手帮忙解答一下?不胜感激!

 


  
12楼:xby2007 2006年12月8日09:47
 感谢CHEXBOX
我在做设计的时候就碰到这样的问题 .小小的分号影响了好多进度
非常感谢 大家

>>>>>>对该主题发表你的看法

本主题贴数12,分页: [第1页]


[上一篇主题]:初学者:laogu你是不是很忙啊?为什么不回答我?

[下一篇主题]:初学者: 请问51的p0口做一般i/o口用时应注意什么外部引脚连接有什么不同?