AC620FPGA NIOS II学习笔记——按键控制

AC620FPGA NIOS II学习笔记——按键控制

github

https://github.com/HaHaHaHaHaGe/Planof2019_half/tree/master/Course_Project/FPGA/class16_NIOSII_PIO

简介

对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;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值