|
|||||||||||
| 技術交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術 | 電源技術 | 測控之家 | EMC技術 | ARM技術 | EDA技術 | PCB技術 | 嵌入式系統(tǒng) 驅動編程 | 集成電路 | 器件替換 | 模擬技術 | 新手園地 | 單 片 機 | DSP技術 | MCU技術 | IC 設計 | IC 產業(yè) | CAN-bus/DeviceNe |
KeilC的“^”運算符的誤判,郁悶! |
| 作者:aceice 欄目:技術交流 |
我要的是“取位”,它跟我編譯成了“異或”。。。。。。 有沒有不引起歧義的辦法? |
| 2樓: | >>參與討論 |
| 作者: aceice 于 2006/6/8 11:16:00 發(fā)布:
帖段程序好了~ void i2c_send_byte(unsigned CHAR val) { I2C_SEND_BIT(val^7); I2C_SEND_BIT(val^6); I2C_SEND_BIT(val^5); I2C_SEND_BIT(val^4); I2C_SEND_BIT(val^3); I2C_SEND_BIT(val^2); I2C_SEND_BIT(val^1); I2C_SEND_BIT(val^0); } KeilC編譯器把“^”編譯成了“異或” |
|
| 3樓: | >>參與討論 |
| 作者: gfs0521 于 2006/6/8 11:26:00 發(fā)布:
是你的語法錯誤,改成下面這樣 unsinged CHAR bdata val sbit val7 = val^7; . . . sbit val0 = val^0; void i2c_send_byte(unsigned CHAR val) { I2C_SEND_BIT(val7); I2C_SEND_BIT(val6); I2C_SEND_BIT(val5); I2C_SEND_BIT(val4); I2C_SEND_BIT(val3); I2C_SEND_BIT(val2); I2C_SEND_BIT(val1); I2C_SEND_BIT(val0); } * - 本貼最后修改時間:2006-6-8 11:29:54 修改者:gfs0521 |
|
| 4樓: | >>參與討論 |
| 作者: computer00 于 2006/6/8 12:34:00 發(fā)布:
在C語言中,^本來就是異或操作 只有在keilC中,sbit才能用^來定義某個位。 |
|
|
|
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |