久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1290|回復: 1
打印 上一主題 下一主題
收起左側

請問一下我的這個s4單片機編譯的程序為什么出現這種錯誤?error C141: syntax error...

[復制鏈接]
跳轉到指定樓層
樓主
ID:976190 發表于 2021-11-21 15:17 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
錯誤是:
PCI協議.C(75): error C141: syntax error near '|'
PCI協議.C(103): error C141: syntax error near ';'
PCI協議.C(103): error C141: syntax error near ')'
PCI協議.C(104): error C141: syntax error near '|'

這個程序是要實現一次SPI協議,各種方法都試了就是解決不了這個問題。
我在c++里都試了一遍,可以通過。

單片機源程序如下:
  1. #include<reg51.h>
  2. #define MASTER
  3. typedef unsigned int u8;
  4. typedef unsigned char u16;
  5. typedef unsigned long int u32;

  6. #define URMD 0
  7. sfr T2H=0XD6;
  8. sfr T2L=0XD7;

  9. sfr AUXR=0X8E;
  10. sfr SPSTAT=0Xcd;
  11. #define SPIF 0X80;
  12. #define WCOL 0X40;                  
  13. sfr SPCTL=0XCE;
  14. #define        SSIG 0X80
  15. #define        SPEN 0X40
  16. #define        DORD 0X20
  17. #define        MSTR 0X10
  18. #define        CPOL 0X08
  19. #define        CPHA 0X04
  20. #define        SPDHH 0X00
  21. #define        SPDH 0X01
  22. #define        SPDL 0X02
  23. #define        SPDLL 0X03
  24. sbit SPISS=P1^1;
  25. sfr SPDAT=0XCF;

  26. #define ESPI 0X02

  27. void SendUart(u16 dat);
  28. void InitUart();
  29. void InitSPI();
  30. u16 RecvUart();
  31. u16 SPISwap(u16 dat);
  32. void main()
  33. {
  34.    InitUart();
  35.    InitSPI();
  36.    while(1)
  37.    {
  38.       #ifdef MASTER
  39.          SendUart(SPISwap(RecvUart()));
  40.           #else
  41.           ACC=SPISwap(ACC);
  42.           #endif
  43.         }
  44. }

  45. void InitUart()
  46. {
  47.      SCON=0X5A;
  48. #if         URMD==0
  49.      T2L=0XD8;
  50.          T2H=0XFF;
  51.          AUXR=0X14;
  52.          AUXR|=0X01;
  53. #elif URMD==1
  54.       AUXR=0X40;
  55.           TMOD=0X00;
  56.           TL1=0XD8;
  57.           TH1=0XFF;
  58.           TR1=1;
  59. #else
  60.       TMOD=0X20;
  61.           AUXR=0X40;
  62.           TH1=TL1=0XFB;
  63.           TR1=1;
  64. #endif
  65. }

  66. void InitSPI()
  67. {
  68.     SPDAT=0;
  69.         SPSTAT=SPIF|WCOL;
  70. #ifdef MASTER
  71.     SPCTL=SPEN|MSTR;
  72. #else
  73.     SPCTL=SPEN;
  74. #endif
  75. }

  76. void SendUart(u16 dat)
  77. {
  78.     while(!TI)
  79.         TI=0;
  80.         SBUF=dat;
  81.         }

  82. u16 RecvUart()
  83. {        
  84.     while(!RI)
  85.         RI=0;
  86.         return SBUF;
  87.         }

  88. u16 SPISswap(u16 dat)
  89. {
  90.   #ifdef MASTER
  91.   SPISS=0;
  92.   #endif
  93.    SPDAT=dat;
  94.   while(!(SPSTAT&SPIF))
  95.    SPSTAT=SPIF|WCOL;
  96.   #ifdef MASTER
  97.   SPISS=1;
  98.   #endif
  99.    return SPDAT;
  100. }
復制代碼
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:546770 發表于 2021-11-22 11:04 | 只看該作者
語法錯誤啊,,,,在75行和104行,把這兩行改成SPSTAT=(SPIF|WCOL);這樣子試試。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 99视频免费 | 国产福利91精品 | 久久一二三区 | 欧美一级淫片免费视频黄 | 国产精品1区 | 一级毛片色一级 | 一级日批片 | 天堂av免费观看 | 亚洲国产在 | 免费一级欧美在线观看视频 | 91精品中文字幕一区二区三区 | 国产精品国产a级 | 日韩精品一区二区三区中文在线 | 中文字幕在线一区 | 国产三区视频在线观看 | 午夜精品久久久久久 | 国产成人精品免高潮在线观看 | 久久一 | 91久久精品一区二区二区 | 国产区在线观看 | 欧美在线观看一区 | 成人超碰 | 国产精品视频在线播放 | 福利精品 | 日本一区二区三区免费观看 | 亚洲精品一区二区三区四区高清 | 国产一区免费 | av中文字幕在线播放 | 麻豆久久久久久久 | 国产精品美女久久久av超清 | 日本亚洲欧美 | 国产91精品久久久久久久网曝门 | 99久久久国产精品免费消防器 | 天天综合干 | 国产日韩欧美一区 | 情侣酒店偷拍一区二区在线播放 | 亚欧精品一区 | 色婷婷一区 | 久久久一区二区三区 | 狠狠爱一区二区三区 | a在线视频 |