单片机/MCUwilliam hill官网
直播中

wubingqp

13年用户 351经验值
擅长:EDA/IC设计 控制/MCU
私信 关注
[问答]

IIC总线程序编译不 error C267: 'wirte_byte': requires ANSI-s 求解

IIC总线程序编译不 error C267: 'wirte_byte': requires ANSI-s  求解
下面是详细的程序 求大虾帮助啊

  1. #include
  2. #define uint unsigned int
  3. #define uchar unsigned char
  4. ***it scl=P2^0;
  5. ***it sda=P2^1;
  6. void delay()
  7. {;;;}
  8. void init()
  9. {
  10.         scl=1;
  11.         delay();
  12.         sda=1;
  13.         delay();
  14. }
  15. void start()
  16. {
  17.         sda=1;
  18.         delay();
  19.         scl=1;
  20.         delay();
  21.         sda=0;
  22.         delay();
  23. }
  24. void respons()
  25. {
  26.         uchar i=0;
  27.         scl=1;
  28.         delay();
  29.         while((sda==1)&&(i<255)) i++;
  30.         scl=0;
  31.         delay();
  32. }
  33. void stop()
  34. {
  35.         sda=0;
  36.         delay();
  37.         scl=1;
  38.         delay();
  39.         sda=1;
  40.         delay();
  41. }
  42. void write_byte(uchar date)
  43. {
  44.         uchar i,temp;
  45.         temp=date;
  46.         for(i=0;i<8;i++)
  47.         {
  48.                 temp=temp<<1;
  49.                 scl=0;
  50.                 delay();
  51.                 sda=CY;
  52.                 delay();
  53.                 scl=1;
  54.                 delay();
  55.         }                  
  56.         scl=0;
  57.         delay();
  58.         sda=1;
  59.         delay();                                                                                                                                                
  60. }
  61. uchar read_byte()
  62. {
  63.         uchar i,k;
  64.         scl=0;
  65.         delay();
  66.         sda=1;
  67.         for(i=0;i<8;i++)
  68.         {
  69.                 scl=1;
  70.                 delay();
  71.                 k=(k<<0)|sda;
  72.                 scl=0;
  73.                 delay();
  74.         }
  75.         delay();
  76.         return k;
  77. }
  78. void main()
  79. {
  80.         init();
  81.         start();
  82.         wirte_byte(0xa0);
  83.         respons();
  84.         wirte_byte(2);
  85.         respons();
  86.         wirte_byte(0xaa);
  87.         respons();
  88.         stop();
  89. }

  • QQ截图20111227155528.png

回帖(3)

2012-1-5 12:47:47
看不懂了
举报

电工师

2012-1-5 15:36:17
楼主引用的时候写成wirte_byte(0xaa);
而前面定义的时候写成了write_byte(0xaa);
编译器当然要报错了,前几天网站上一直回复不了,楼主的问题可能已经解决了吧?

举报

wubingqp

2012-1-6 13:41:33
引用: diangongshi 发表于 2012-1-5 15:36
楼主引用的时候写成wirte_byte(0xaa);
而前面定义的时候写成了write_byte(0xaa);
编译器当然要报错了,前几 ...

嗯 解决了  还是别人看到的  自己那时候没看出来
举报

更多回帖

发帖
×
20
完善资料,
赚取积分