題:
編譯時出現“雜散'/ 302'程序錯誤”
user2950509
2016-10-27 18:41:13 UTC
view on stackexchange narkive permalink

出於某些奇怪的原因,以下代碼無法編譯。我在 volatile unsigned intcoderPos = 0; 周圍收到“程序中的'\ 302'雜散”錯誤,我不知道問題是什麼。我已經嘗試解決了40分鐘以上,但沒有任何效果。

  #include <U8g2lib.h>#include <SPI.h> // Pin定義:const int control_PWM = A3; //延遲const int btn_1 = 1的PWM輸出; //模式1的按鈕int btn_2 = 4; //模式2的按鈕int btn_3 = 5; //模式3的按鈕int r_A = 2; //旋轉編碼器A的dataconst int r_B = 3; //旋轉編碼器A的dataconst int r_SW = 0; //旋轉編碼器的按鈕dataconst int oled_CLK = 9; // SPI cloackconst int oled_MOSI = 8; // MOSI pinconst int oled_CS = 7; //芯片選擇pinconst int oled_DC = 6; // OLED的D / C引腳U8G2_SH1106_128X64_NONAME_F_4W_HW_SPI u8g2(U8G2_R0,/ * cs = * / 10,/ * dc = * / 9,/ * reset = * / 8); int模式= 1; // 1:RGB,2:HSL,3:距離controlint value_selection = 1; //實際值selectrionint value1 = 0; //在模式1下為紅色;模式2中的著色int value2 = 0; ////綠色在模式1中;模式2中的飽和度int值3 = 0; //在模式1下為藍色;模式2下的亮度volatile unsigned int encoder位置= 0; //旋轉編碼器的當前位置unsigned int lastReportedPos = 1; //旋轉編碼器的上一個位置static boolean rotation = false; //是編碼器活動狀態//中斷變量布爾A_set = false;布爾B_set =假;布爾A_change =假;布爾B_change =假;無效setup(){}無效循環(){}  
什麼IDE版本?
您能否編輯您的問題以包含確切的錯誤消息。
@canadiancyborg:您的編輯掩蓋了問題。
@IgnacioVazquez-Abrams我剛剛將法語註釋翻譯為英語,它如何改變了一切?
@canadiancyborg:您刪除了源中的非ASCII字符,這是導致錯誤的原因。
@IgnacioVazquez-Abrams等待,所以註釋中的非ASCII字符也會影響程序嗎?
編譯對我很好。使用者0.9.1
二 答案:
Ignacio Vazquez-Abrams
2016-10-27 19:16:11 UTC
view on stackexchange narkive permalink

0302為0xc2。 在您的源代碼中的某個地方,您有一個或多個以UTF-8(0xc2 0xa0)編碼的不間斷空格(0xa0)。使用 od 或類似的工具查找它們,然後將它們替換為普通空格。 s>由於源中包含非ASCII Latin-1字符,因此這些字符被編碼為兩個字節。第一個是0xc2或0xc3。繼續操作之前,請刪除所有非ASCII字符。

您可能只需複制帖子中的代碼,然後將其粘貼到IDE中的原始代碼上即可。由於我在上面的文本中無法檢測到任何奇怪的字符(我認為瀏覽器用常規空格替換了NBSP)。對於某些編譯器,不可見字符可能會很痛苦。
RogerR2
2017-03-13 02:28:50 UTC
view on stackexchange narkive permalink

/(302)錯誤的一個原因是來自文字處理器的複制和粘貼代碼。您複製了ASCII代碼,在代碼中添加了空格等。遍歷每條已識別的行,並刪除任何已識別行的開頭和結尾的多餘空格。然後,(Arduino IDE)轉到工具,自動格式化。至少,這為我解決了問題。



該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...