1. gpio外设的配置:
(1) 新建工程,添加duan ,wei ,leds_8bit三个gpio外设,并且将其与总线连接,设置地址和相应的长度。然后将添加的三个gpio端口在port下的gpio_d_out设置为make external,用来产生外部gpio连接。
(2) 在project下点击ucf文件,添加相应的三个gpio外设的端口。然后在application下双击compiler options,在environment下选择use default linker ,在debug and optimization下选择no optimization。
(3) 点击编译按钮,进行编译。
2. 定时器和中断的配置:
(1) 在ip catalog下的dma and timer中双击添加xps timer/counter定时器,在clock,reset and interrupt下双击xps interrupt......,添加中断。将定时器的名字改为delay,并且与总线相连接。在地址下点击generate addresses,为其添加地址。
(2) 在port下输入timer1作为delay的interrupt连接interrupt 下拉为 timer1。在microblaze_0下的interrupt选择new connection,创建一个新的网络。
(3) 在irq下选择microblaze_0_interrupt。单击intr,将弹出的窗口中的timer1添加到右边的窗口。
(4) 将 delay 下的capturetrig0设置为net_gnd。
(5) 双击delay,在弹出的窗口中将only one timer is present选中。
(6) 最后在application 下的sources中右键添加写好的c文件。选择工具栏中device configuration下的update,进行编译。编译完成后点击download下载到excd-1板卡中。
3. 扩展功能:
按键控制时、分的加减。
(1) 首先添加按键的gpio外设button,设置方法同第一步的方法相同。注意添加的时候不要忘了在system.ucf 中添加其对应的端口。
(2) 然后在c程序中添加相应的代码。定义全局变量xuint32 dataread; //读取按钮数
xgpio push_bottons_4bit; //定义gpio按钮
在初始化函数中添加按键初始化语句:
status = xgpio_initialize(&push_bottons_4bit, xpar_button_device_id); //gpio_buttons_4bit初始化
xgpio_setdatadirection(&push_bottons_4bit, 1, 0xffffffff); //设置为输入
添加按键扫描函数:
void keyscan()
{
dataread = xgpio_discreteread(&push_bottons_4bit, 1);//读取按键信息
if(dataread == 0x7) //第一个按键
{
xintc_mmasterenable(xpar_xps_intc_0_baseaddr);//关闭中断
xintc_menableintr(xpar_xps_intc_0_baseaddr, 0x0);
delay(400);
dataread = xgpio_discreteread(&push_bottons_4bit, 1);//读取按键信息
if(dataread != 0x7)
{
shi++;
if(shi==24)
shi=0;
xintc_mmasterenable(xpar_xps_intc_0_baseaddr);//再次打开中断
xintc_menableintr(xpar_xps_intc_0_baseaddr, 0x1);
}
}//此处仅仅只有一种扫描,若要增加按键,即多增加几个if即可
紫光云“云智原生”战略加速业务转型与创新
浅谈金箔在汽车领域的应用
PCB的EMC设计规范
RX 5500显卡公版造型曝光 短小而精悍
先进工艺节点的发展进度对EDA厂商既是机遇也是挑战
利用Xilinx的XPS工具写的一个时钟程序
工信部启动燃油车退出时间表的研究_未来会怎样?
制造业实现可持续转型的意义
PCB线路板生产的钻孔工艺
一氧化碳检测仪能检测甲烷吗?-欧森杰
RMP201-8 控制输入输出电流隔离
红光半导体激光器在激光显示中的应用
LLC转换器中一次侧开关器件反向恢复特性的重要性:LLC转换器的基本工作
欧拉(openEuler)Summit 2021 关于openEuler2021年回顾
德力西电气HD18系列光伏专用隔离开关惊艳上市
鲲鹏BoostKit加速开发者场景应用创新
低温共烧陶瓷技术(LTCC)最全介绍
征服黑暗,漫谈光电红外系统的军事应用
现在的Python语言有什么优势存在
紫光展锐携手罗德与施瓦茨公司完成了5G OTA测试解决方案