所以我一直在Atmel C編程一段時間,我已經習慣了所有的C位操作,所以現在我想隱藏它。我想隱藏位操作,不僅使我的代碼更具可讀性,而且使我們的硬件更改或新硬件更易於維護和修改。Atmel C引腳操作宏
所以我在問你,Atmel C的基本引腳操作最好的宏是什麼。
我要找的特點是:
- 設置PIN是輸入或輸出
- 設置輸出引腳高電平或低電平
- 讀取輸入引腳的值
所以我發現了一些我可以使用的宏,但沒有一個真正適合我的賬單。
鏈接:
http://www.piconomic.co.za/fwlib/group___a_v_r___p_i_o.html(仍然要保持每針數倍定義)
http://www.starlino.com/port_macro.html(不編譯,AVR Studio的6.2)
Changing a global variable in C(最好的一個,附近的頂部問題在「/ * LCD DEFINES * /」
我真的很喜歡這樣的事情:
#define LED1 PA1
#define BUTTON1 PB0
set_output(LED1);
output_high(LED1);
delay_ms(100);
output_low(LED1);
set_input(BUTTON1);
uint8_t tmpVal = get_input(BUTTON1);
if(tmpVal == 1)
{
// assuming button IS pressed here
}
else
{
// assuming button IS NOT pressed here
}
關於最乾淨的方法做到這一點的任何想法?
我可以處理保持每針額外幾個定義,但我覺得這不應該需要。 PA1和PB0不應該能夠告訴我們一切,或者它們是否被定義爲一個單一的值?
編輯:在Windows上使用愛特梅爾Studio的6.2
感謝, 羅布河