簡介
對PIO增加輸入方式,在eclipse中讀取按鍵狀態,控制4個led閃爍
Quartus
Bidir雙向IO口(輸入、輸出)用於到芯片引腳
內部若是想實現雙向IO需要使用 InOut
Output Register選項用於是否激活獨立控制單個IO口
Eclipse
代碼中的PIO_BASE 是在Quartus中的外設名字(就算寫的是小寫也會被轉成大寫)
#include "system.h"
#include "altera_avalon_pio_regs.h"
#include "alt_types.h"
int main()
{
alt_u8 led = 0;
alt_u8 key = 0;
IOWR_ALTERA_AVALON_PIO_DIRECTION(PIO_BASE,0x0f); //輸入輸出模式設置 1 輸出 0 輸入
/* Event loop never exits. */
while (1)
{
key = IORD_ALTERA_AVALON_PIO_DATA(PIO_BASE); //讀取IO電平狀態
if(key & 0x10)
{
led = 0x00;
IOWR_ALTERA_AVALON_PIO_DATA(PIO_BASE,led); //設置IO電平狀態
}
else
{
led = 0x0f;
IOWR_ALTERA_AVALON_PIO_DATA(PIO_BASE,led);
}
}
return 0;
}