欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3518|回復: 18
收起左側

PIC單片機語句編譯的問題?

[復制鏈接]
ID:72649 發表于 2023-2-19 20:59 | 顯示全部樓層 |閱讀模式
PIC16F里面的語句上面不能編譯,下面可以編譯,什么原因?
        else if(L_KEY1==0 & M_KEY1==1 & H_KEY1 ==1)為什么不能編譯?

        else if(L_KEY1==0 && M_KEY1==1 && H_KEY1 ==1)這樣就可以編譯了
但是在51單片機可以編譯
回復

使用道具 舉報

ID:384109 發表于 2023-2-19 22:13 | 顯示全部樓層
兩個是不同的語法,不同的指令,即使能編譯通過,也是執行不同的功能,查查C語言的編程資料
回復

使用道具 舉報

ID:883242 發表于 2023-2-19 22:20 | 顯示全部樓層
上面那種寫法即使能通過編譯也不可能正常執行,有嚴重的邏輯問題,樓主回家查教材吧。
回復

使用道具 舉報

ID:72649 發表于 2023-2-20 08:48 來自觸屏版 | 顯示全部樓層
人中狼 發表于 2023-2-19 22:13
兩個是不同的語法,不同的指令,即使能編譯通過,也是執行不同的功能,查查C語言的編程資料

        else if(L_KEY1==0 & M_KEY1==1 & H_KEY1 ==1)  在51編譯器可以編譯,但是在pic編譯器不能編譯,是什么原因
回復

使用道具 舉報

ID:72649 發表于 2023-2-20 08:50 來自觸屏版 | 顯示全部樓層
Hephaestus 發表于 2023-2-19 22:20
上面那種寫法即使能通過編譯也不可能正常執行,有嚴重的邏輯問題,樓主回家查教材吧。

else if(L_KEY1==0 && M_KEY1==1 && H_KEY1 ==1)這樣就可以編譯了
但是在51單片機可以編譯
回復

使用道具 舉報

ID:69038 發表于 2023-2-20 09:17 | 顯示全部樓層
hjx5548 發表于 2023-2-20 08:50
else if(L_KEY1==0 && M_KEY1==1 && H_KEY1 ==1)這樣就可以編譯了
但是在51單片機可以編譯

編譯器只是對你代碼進行語法過行校驗合不合法,對你的邏輯是否合理就不管不顧了。
回復

使用道具 舉報

ID:879348 發表于 2023-2-20 11:50 | 顯示全部樓層
一個&是位操作,和&&是2回事,對于C語言沒有規定行不行,報錯是編譯器決定是否報這個錯誤
回復

使用道具 舉報

ID:72649 發表于 2023-2-20 14:47 來自觸屏版 | 顯示全部樓層
wufa1986 發表于 2023-2-20 11:50
一個&是位操作,和&&是2回事,對于C語言沒有規定行不行,報錯是編譯器決定是否報這個錯誤

我把代碼發出來給你看看,看看哪里出了問題
回復

使用道具 舉報

ID:72649 發表于 2023-2-20 15:15 | 顯示全部樓層
hjx5548 發表于 2023-2-20 14:47
我把代碼發出來給你看看,看看哪里出了問題
http://m.raoushi.com/bbs/dpj-226936-1.html
回復

使用道具 舉報

ID:72649 發表于 2023-2-20 16:06 | 顯示全部樓層
hjx5548 發表于 2023-2-20 14:47
我把代碼發出來給你看看,看看哪里出了問題

Serial number: HCPICP-111111 (PRO)
Error   [712] C:\Users\Administrator\Desktop\SH180508A.PCB\daima\guolu.c.c; 107. can't generate code for this expression
Error   [712] C:\Users\Administrator\Desktop\SH180508A.PCB\daima\guolu.c.c; 119. can't generate code for this expression
Error   [712] C:\Users\Administrator\Desktop\SH180508A.PCB\daima\guolu.c.c; 129. can't generate code for this expression
Advisory[1395] notable code sequence candidate suitable for compiler validation suite detected (116)
回復

使用道具 舉報

ID:213173 發表于 2023-2-20 16:46 | 顯示全部樓層
hjx5548 發表于 2023-2-20 14:47
我把代碼發出來給你看看,看看哪里出了問題

&是位運算符,&&是邏輯運算符,差之毫厘,謬以千里。
回復

使用道具 舉報

ID:72649 發表于 2023-2-20 23:53 來自觸屏版 | 顯示全部樓層
wulin 發表于 2023-2-20 16:46
&是位運算符,&&是邏輯運算符,差之毫厘,謬以千里。

兩個運算符我知道,我現在用的是位運算符,想要實現代碼的功能,但是就是不能編譯。
回復

使用道具 舉報

ID:1063136 發表于 2023-2-21 11:13 | 顯示全部樓層
不熟悉優先級的話可以用括號
回復

使用道具 舉報

ID:962286 發表于 2023-2-21 11:38 | 顯示全部樓層
hjx5548 發表于 2023-2-20 23:53
兩個運算符我知道,我現在用的是位運算符,想要實現代碼的功能,但是就是不能編譯。

你是想要判斷按鍵L_KEY1有按下同時M_KEY1和H_KEY1無按下嗎?
回復

使用道具 舉報

ID:72649 發表于 2023-2-24 05:37 來自觸屏版 | 顯示全部樓層
wufa1986 發表于 2023-2-20 11:50
一個&是位操作,和&&是2回事,對于C語言沒有規定行不行,報錯是編譯器決定是否報這個錯誤

MPLAB-IDE編譯器
回復

使用道具 舉報

ID:72649 發表于 2023-2-24 05:38 來自觸屏版 | 顯示全部樓層
MCU_FANS 發表于 2023-2-21 11:38
你是想要判斷按鍵L_KEY1有按下同時M_KEY1和H_KEY1無按下嗎?

滿足三個開關后,才能執行下面的功能。不是按鈕,是開關。
回復

使用道具 舉報

ID:962286 發表于 2023-2-24 15:03 | 顯示全部樓層
hjx5548 發表于 2023-2-24 05:38
滿足三個開關后,才能執行下面的功能。不是按鈕,是開關。

那你應該用 && 而不是用 & 。
回復

使用道具 舉報

ID:72649 發表于 2023-2-24 18:18 來自觸屏版 | 顯示全部樓層
MCU_FANS 發表于 2023-2-24 15:03
那你應該用 && 而不是用 & 。

用&&功能不能實現
回復

使用道具 舉報

ID:1034262 發表于 2023-2-24 18:45 | 顯示全部樓層
這種情況一定要多加括號。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表