编程ic时编译器错误

标签 c eclipse

我的 friend 正在尝试对一个带有 8051 微 Controller 的移位寄存器 ic 74hc595 进行编程,以显示移动的 LED 消息。 但是我的编译器在 send_data(alf(a));

中给我错误

这是代码->

#include<8051.h>
#define clock P2_0
#define data_bit P2_1
#define latch P2_2
#define shift 8
void delay(unsigned int i)
{
    int k=0;
    while(k<i)
    {
        k++;
    }
}
void send_data(unsigned char temp)
   {
   unsigned char i;
   unsigned char dd;
   latch=0;
   clock=0;
   for(i=0;i<shift;i++){
   dd=temp>>i;
   if(dd&1)
                        data_bit=1;
             else
                        data_bit=0;
   clock=1;
   clock=0;
                       }
   latch=1;
   }
unsigned char alf[]={16,6,6,16};
void main()
{
unsigned char a;
  while(1){
   for(a=0;a<4;a++)
   {
   send_data(alf(a));
   delay(10000);
   }
  }
}

因为是我的 friend 在做,所以我没有太多关于它的信息。但如果还需要什么,请告诉我,我会提供,但请帮我解决这个问题。 谢谢。

最佳答案

send_data(alf(a));

应该是

send_data(alf[a]);

另一方面,编译器可以优化(和删除)delay 的主体,查看 volatile keyword

关于编程ic时编译器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20717064/

相关文章:

java - 一次打开多个相同的 Mac 应用程序

c - C 语言中的 printf 函数是如何工作的?

c - SNMPd : Cannot open/proc/bus/pci

c++ - if( !(s & i) ) 和 if( s&i == 0 ) 有什么区别?

java - 三元语句突破构造函数

php - 如何使用 PDT 插件在 Eclipse 中设置/查看 PHP 服务器页面(适用于 php)

eclipse - Eclipse + PyDev崩溃

c - 为什么编译器不优化这个初始化?

c++ - while(i--) s+= a[i];在 C 和 C++ 中包含未定义的行为?

android - 哪个 Eclipse IDE 用于 android 开发?