首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于C51,并且在无符号附近有一些错误问题,例如语法错误。

用于C51,并且在无符号附近有一些错误问题,例如语法错误。
EN

Stack Overflow用户
提问于 2015-12-03 16:27:12
回答 1查看 4.6K关注 0票数 1

我正在使用Keil编写80C51,并使用C51进行编码。然而,我在编写过程中遇到了一些问题。我的代码如下所示:

代码语言:javascript
复制
#include <reg51.h>

#define uchar unsigned char
#define LED P2
sbit SH=P0^0;
sbit DATA=P3^0;
sbit CLK=P3^1;


void main()
{
  SCON=0x10;
    uchar a,i,j;
    while(1){
        a=0;
        SH=0;
        SH=1;
        for (i=0;i<8;i++){
            CLK=0;
            for (j=0;j<500;j++);
            DATA=0;
            CLK=1;
            for (j=0;j<500;j++);
            a=a<<1;
            a=a+(uchar)DATA;
        }
        LED=a;
    }
}

但是编译器显示了lab7.c(13):error C141:语法错误在“unsigned”附近。我不知道为什么会发生这种事!非常感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-12-03 19:31:27

在函数开始时,在任何其他代码之前声明变量:

代码语言:javascript
复制
void main()
{
    uchar a,i,j;
    SCON=0x10;
    while(1){ 
    /* ... */

这是一个老的C编译器限制,在Keil C51中从未删除过。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34071199

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档