|
|||||||||||
| 技術交流 | 電路欣賞 | 工控天地 | 數字廣電 | 通信技術 | 電源技術 | 測控之家 | EMC技術 | ARM技術 | EDA技術 | PCB技術 | 嵌入式系統 驅動編程 | 集成電路 | 器件替換 | 模擬技術 | 新手園地 | 單 片 機 | DSP技術 | MCU技術 | IC 設計 | IC 產業(yè) | CAN-bus/DeviceNe |
WinAVR中如何操作單個IO口 |
| 作者:toonaive 欄目:單片機 |
比如我在keil中我可以先用SBIT定義,然后直接給變量賦值就可以了。遺憾的是WinAVR中不可以。我看書上用SBI和cbi,但是我用了編譯不過去啊 * - 本貼最后修改時間:2005-11-29 17:34:59 修改者:toonaive |
| 2樓: | >>參與討論 |
| 作者: w2004 于 2005/11/30 22:38:00 發(fā)布:
用PORTA|=(1<<7) PORTA|=(1<<7) 意思是把00000001左移7位再和porta相或 |
|
| 3樓: | >>參與討論 |
| 作者: qjy_dali 于 2005/12/2 16:23:00 發(fā)布:
同意樓上的 用讀--修改--寫機制 而且好像0X3F以下的端口都支持sbi與cbi |
|
| 4樓: | >>參與討論 |
| 作者: tuwen 于 2005/12/2 19:54:00 發(fā)布:
可以 PORTB |= _BV(n) 和 PORTB &= ~_BV(n) |
|
| 5樓: | >>參與討論 |
| 作者: fujianhui 于 2005/12/2 20:32:00 發(fā)布:
sbi() 可以用的 05版裝好后的確不能用 sbi()和cbi()。 仔細看資料后,發(fā)現頭文件里的確沒有這兩函數的定義。 發(fā)現問題原因后,解決它就不是什么問題了。 方法有無數種。 1. 將下面兩行拷到程序中。 #define sbi(sfr, bit) (_SFR_BYTE(sfr) |= _BV(bit)) #define cbi(sfr, bit) (_SFR_BYTE(sfr) &= ~_BV(bit)) 2.將上面兩行拷到 sfr_defs.h 文件中,該文件在 C:\WinAVR\avr\include\avr 。 |
|
| 6樓: | >>參與討論 |
| 作者: hotpower 于 2005/12/2 21:46:00 發(fā)布:
不要用51的思路來玩AVR |
|
|
|
| 免費注冊為維庫電子開發(fā)網會員,參與電子工程師社區(qū)討論,點此進入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |