|
|||||||||||
| 技術交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術 | 電源技術 | 測控之家 | EMC技術 | ARM技術 | EDA技術 | PCB技術 | 嵌入式系統(tǒng) 驅動編程 | 集成電路 | 器件替換 | 模擬技術 | 新手園地 | 單 片 機 | DSP技術 | MCU技術 | IC 設計 | IC 產業(yè) | CAN-bus/DeviceNe |
AVR竟然沒有位變量,我靠 |
| 作者:藍色魅力 欄目:單片機 |
還打算用AVR代替DSP呢,看來現(xiàn)在要打折扣了 |
| 2樓: | >>參與討論 |
| 作者: lufeijian 于 2005/8/5 16:24:00 發(fā)布:
暈!我還想用DSP替代AVR! AVR在ASM里是可以有位變量,CVAVR也可以定義位變量,但ICCAVR、IAR都沒有。 有沒有位變量并不重要。 |
|
| 3樓: | >>參與討論 |
| 作者: sszxxm 于 2005/8/5 20:46:00 發(fā)布:
直接把1個字節(jié)當位變量 用就得了, 反正MEGA8有1024個RAM足夠用了,51不就只有128個位變量可用嗎?夠了。 |
|
| 4樓: | >>參與討論 |
| 作者: hotpower 于 2005/8/5 21:38:00 發(fā)布:
|&~替代即可 |
|
| 5樓: | >>參與討論 |
| 作者: computer00 于 2005/8/5 21:59:00 發(fā)布:
X86不是也沒位變量嗎?不是也跑得很好嗎? |
|
| 6樓: | >>參與討論 |
| 作者: hotpower 于 2005/8/5 22:03:00 發(fā)布:
用慣了(1 << Bit)反感到位變量不自在了 |
|
| 7樓: | >>參與討論 |
| 作者: 光仔 于 2005/8/5 22:05:00 發(fā)布:
多做一些與或非運算不就行了么? |
|
| 8樓: | >>參與討論 |
| 作者: computer00 于 2005/8/5 22:12:00 發(fā)布:
不會吧?我現(xiàn)在在宿舍熱慣了,去到空調房里倒是不習慣了。。。 |
|
| 9樓: | >>參與討論 |
| 作者: hotpower 于 2005/8/5 22:13:00 發(fā)布:
那就用水灌灌... |
|
| 10樓: | >>參與討論 |
| 作者: qjy_dali 于 2005/8/5 23:29:00 發(fā)布:
好像也就51的硬件支持位變量 其他都要用軟件實現(xiàn),比如位段 |
|
| 11樓: | >>參與討論 |
| 作者: testcode 于 2005/8/5 23:32:00 發(fā)布:
avr匯編中 CBI – Clear Bit in I/O Register: DESCRIPTION: Clears a specified bit in an I/O Register. This instruction operates on the lower 32 I/O Registers – addresses 0-31. SBI – Set Bit in I/O Register SBIC – Skip if Bit in I/O Register is Cleared SBIS – Skip if Bit in I/O Register is Set |
|
| 12樓: | >>參與討論 |
| 作者: hotpower 于 2005/8/5 23:35:00 發(fā)布:
IO編譯時幾乎都是位操作(2個IO位以內) |
|
| 13樓: | >>參與討論 |
| 作者: 汽車電子 于 2005/8/6 15:28:00 發(fā)布:
用位結構很方便 typedef struct __BIT_FLAG { CHAR Bit0: 1; CHAR Bit1: 1; CHAR Bit2: 2; CHAR Bit3: 4; ...... } BIT_FLAG,*pBIT_FLAG; |
|
| 14樓: | >>參與討論 |
| 作者: athlon64fx 于 2005/8/6 16:40:00 發(fā)布:
你竟然51以外的MCU也有位變量,我靠 51內包含一個1位cpu |
|
| 15樓: | >>參與討論 |
| 作者: mxh0506 于 2005/8/6 21:47:00 發(fā)布:
習慣了就好了 提醒一下: 移植時千萬別用位域(bit field)或位屏蔽(bit mask)直接代替51中的位變量,否則…… |
|
| 16樓: | >>參與討論 |
| 作者: 菲菲冷玉 于 2005/8/8 15:46:00 發(fā)布:
這樣呢 我看他們都這么用(在ICCAVR中) //PORTD.0 置位 #define set_scl asm("sbi 0x12,0") //PORTD.0 復位 #define clr_scl asm("cbi 0x12,0") 后面直接調用就可以了,也不會影響其他位. |
|
| 17樓: | >>參與討論 |
| 作者: qjy_dali 于 2005/8/8 20:02:00 發(fā)布:
沒有位變量... AVR在繼續(xù)運行; ARM在繼續(xù)運行; Coldfire在繼續(xù)運行; MC68HC08在繼續(xù)運行; ...... 朋友,天不會蹋下來的 |
|
| 18樓: | >>參與討論 |
| 作者: jcsasm 于 2005/8/9 9:10:00 發(fā)布:
慢慢適應吧,總感覺挺麻煩:( |
|
| 19樓: | >>參與討論 |
| 作者: linwei1234 于 2005/8/11 9:36:00 發(fā)布:
51的叫布爾處理器,各有各的長處! |
|
| 20樓: | >>參與討論 |
| 作者: zzb147 于 2005/8/11 10:17:00 發(fā)布:
沒有位變量,但可以進行位操作 沒有位變量,但可以進行位操作。用起來也可以。習慣就好了。 |
|
| 21樓: | >>參與討論 |
| 作者: high 于 2005/8/11 17:04:00 發(fā)布:
非標準c的東西.要了反而非常不好. 位操作熟練的話,位變量就多余的象垃圾. |
|
| 22樓: | >>參與討論 |
| 作者: stc51 于 2005/8/11 21:01:00 發(fā)布:
這都不理解,還說臟話! |
|
| 23樓: | >>參與討論 |
| 作者: 5696427 于 2005/8/12 10:54:00 發(fā)布:
我剛剛建了一個C51和接口的群,歡迎各位高手14316548 我建了一個C51和接口的群,歡迎各位高手14316548 |
|
| 24樓: | >>參與討論 |
| 作者: mike_tang 于 2005/8/12 17:13:00 發(fā)布:
還是用位吧 |
|
| 25樓: | >>參與討論 |
| 作者: qjy_dali 于 2005/8/12 20:52:00 發(fā)布:
你家有白菜,我家有菠菜,各有各的好 |
|
| 26樓: | >>參與討論 |
| 作者: youwen 于 2005/8/15 16:04:00 發(fā)布:
有 位變量不能直接使用 |
|
| 27樓: | >>參與討論 |
| 作者: 將軍令 于 2005/8/16 9:03:00 發(fā)布:
好的CPU都沒有bit變量,垃圾檔次的CPU才會有的 好的CPU都沒有bit變量,垃圾檔次的CPU才會有的 |
|
| 28樓: | >>參與討論 |
| 作者: lwen1999 于 2005/8/16 9:58:00 發(fā)布:
用結構和聯(lián)合代替位變量 typedef struct _TAGBIT { uchar bit0:1; uchar bit1:1; uchar bit2:1; ..... uchar bit6:1; uchar bit7:1; }str_bit; type union _TAGBITBYTE { uchar byteflag; str_bit bitflag; }un_byte; un_byte flag1; #define flag flag1.byteflag; #define OK_flag flag1.bitflag.bit0; ..... 這樣做很方便,如果設計得好,以后程序還可以一次性對這8個位清0 |
|
| 29樓: | >>參與討論 |
| 作者: wjcheng 于 2005/8/16 10:29:00 發(fā)布:
請教并口擴展的問題 有哪位仁兄用74HC164做過數(shù)碼管顯示的案例,最多課級連多少164,有無細節(jié)需要注意,請不吝賜教 ——新手 |
|
| 30樓: | >>參與討論 |
| 作者: zhmd1 于 2005/8/17 16:29:00 發(fā)布:
一個字節(jié)不是有八位嗎?用“SBI/CBI” |
|
| 31樓: | >>參與討論 |
| 作者: terrence 于 2005/8/18 19:46:00 發(fā)布:
ANSI C里面也沒有位變量~~~~~ |
|
| 32樓: | >>參與討論 |
| 作者: wuzp_885 于 2005/8/19 11:08:00 發(fā)布:
其實有位操作就行了,為什么要用位變量 其實有位操作就行了,為什么要用位變量 |
|
| 33樓: | >>參與討論 |
| 作者: cmlckcmlck 于 2005/8/20 8:45:00 發(fā)布:
AVR可用X,Y,Z寄存器間接尋址 老兄是說的不能間接尋址吧,用X,Y,Z寄存器啊 |
|
| 34樓: | >>參與討論 |
| 作者: tgb123 于 2005/8/20 16:02:00 發(fā)布:
我用51也沒用過位操做。。呵呵。還不一樣 |
|
| 35樓: | >>參與討論 |
| 作者: dorbin2001 于 2005/8/24 18:48:00 發(fā)布:
就是 就是這樣做的 |
|
| 36樓: | >>參與討論 |
| 作者: gwnpeter 于 2005/9/23 13:49:00 發(fā)布:
(1 << Bit)還是很好用的! |
|
| 37樓: | >>參與討論 |
| 作者: kodomo 于 2005/9/23 13:54:00 發(fā)布:
一個寄存器有8個位,怎么能說沒有位變量? |
|
| 38樓: | >>參與討論 |
| 作者: qjy_dali 于 2005/9/24 14:07:00 發(fā)布:
樓上這是各人認識的不同了,那要看每個人是如何定義位變量的 |
|
| 39樓: | >>參與討論 |
| 作者: madaha 于 2005/9/24 16:31:00 發(fā)布:
怎么說呢? 位變量大多作為程序的標志而得到使用,其實別的計算機一直都有將內存的一部分用作程序的標志區(qū),只是MCS51專門用了一塊地方開辟成位變量區(qū),并且用C作為其運算器而已。 |
|
| 40樓: | >>參與討論 |
| 作者: jxl_dragon 于 2005/9/26 12:24:00 發(fā)布:
AVR竟然沒有位變量,我靠 AVR匯編指令里面沒有直接置位和清零SRAM位的指令呢,真是郁悶啊! |
|
| 41樓: | >>參與討論 |
| 作者: AVRx007 于 2005/9/26 17:30:00 發(fā)布:
吾使"KAO"啦,你D朋友都跟曬我去學"C"啦-----斧頭幫 用C吧。 用AVR就要忘記51的特別之處。 |
|
|
|
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入 |
Copyright © 1998-2006 udpf.com.cn 浙ICP證030469號 |