实验 使用 vivado zedboard GPIO 开关 开控制 LED

前面我做了几个实验 都没有用过 开关,这一次用一用

发现 vivado 真的挺方便 所以 使用 vivado 开发

1.建工程

我使用 vivado 2013.4

image

创建新工程 –》 next –》next

image

勾选 Do not specify sources at this time   //这样跳过后面两个添加文件页面

image

选择 board –》 zedboard –》next –》finsh

就创建完了。

 

2.PL端 IP核添加与连线

image

创建一个空的 Diagram

Create Block Design -》点 ok

image

接下来 添加 IP核  可以点击 提示 Add IP  也可以点击 image

image

搜索 zynq 点 第一个

image

然后 点击 Run Block Automation  自动配置

imageimage

点击 image 添加 GPIO

image

接下来 会提示 Run Connection Automation 自动连线

选择 S_AXI    变成下图  

image

系统自动添加了 一些IP核

继续点击 Run Connection Automation  -》 GPIO

image

选择 led_8bits  -》 OK

image

同样的方法 添加  GPIO IP核  -》 Run Connection Automation 两次  选择 sws_8bits

就完成了

image

image  

点击  红圈处 验证 一下。

 

3.生成 bit 的过程

image

点击 Source  -》 design_1  右键 –》 Create HDL Wrapper  -》 OK

然后  Synthesis 、 Implementation 、Bitstream 依次过一遍

image

这个过程费时间。。  Synthesis 以后 一直点ok    最后 点击 Generate Bitstream

4.输出到SDK

 

image

image

选上 launch SDk 点 OK  就启动SDK 了

我的 SDK 是

点击 FILE –》 new –>  Application project

image

选一个 helloworld

复制以下代码

 

 1 #include <stdio.h>
 2 #include "platform.h"
 3 #include "xparameters.h"
 4 #include "xgpio.h"
 5 #include "sleep.h"
 6 #include "platform.h"
 7 #include "xil_types.h"
 8 #include "xgpiops.h"
 9 
10 
11 /************************** Constant Definitions *****************************/
12 
13 /*
14  * The following constant maps to the name of the hardware instances that
15  * were created in the EDK XPS system.
16  */
17 #define XPAR_LEDS_ID XPAR_AXI_GPIO_0_BASEADDR  //AXI_GPIO_0 是添加的第一个 gpio 所以是 leds
18 #define XPAR_SWS_ID XPAR_AXI_GPIO_1_BASEADDR   //那么 这个自然是 开关了
19 
20 int main()
21 {
22     static XGpio LED_Ptr;//定义GPIO指针
23     static XGpio SWS_Ptr;
24     int XStatus;
25     int num = 0;
26     //初始化 LED
27     XStatus = XGpio_Initialize(&LED_Ptr,XPAR_AXI_GPIO_0_DEVICE_ID);
28     if(XST_SUCCESS != XStatus)
29             print("GPIO INIT FAILED\n\r");
30     XGpio_SetDataDirection(&LED_Ptr, 1,0x00);//通道1;设置方向 0 输出 1输入, 0x00表示8位都是输出
31     XGpio_DiscreteWrite(&LED_Ptr, 1,0x00);
32 
33     //初始化 开关
34     XStatus = XGpio_Initialize(&SWS_Ptr,XPAR_AXI_GPIO_1_DEVICE_ID);
35     if(XST_SUCCESS != XStatus)
36             print("GPIO INIT FAILED\n\r");
37     XGpio_SetDataDirection(&SWS_Ptr, 1,0xFF);//通道1;设置方向 0 输出 1输入 0xFF表示8位都是输入
38 
39 
40 
41     while(1){
42         num = XGpio_DiscreteRead(&SWS_Ptr, 1);  //从开关处 读数据
43         printf("Numb %d\n\r", num);
44         XGpio_DiscreteWrite(&LED_Ptr, 1,num);   //直接写入 led
45         usleep(1000);      //delay 1ms
46     }
47 
48     printf("end\n\r \n\r");
49     return 0;
50 }

 

确保 zedboard 已经连到电脑上 并打开电源

先 xilinx Tools –> ProgramFPGA

image

然后 image  -> Run As –> Launch on Hardware (GDB)

image

可以看到 结果  64 + 1

image

IMG_20140729_223929

第 7 个 和 第 1 个  开关 是开的

表示 所以 led 也亮了

转载于:https://www.cnblogs.com/rocbomb/p/3876683.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/460211.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java 最优化_java-多维度求最优解

拿出11条数据//条件每个位置(position)的人数限制每队(team)人数不能超过7人credits的总和在100分之内(包含100)总分(points)最高//位置人数限制position-1 : 1 position-2 : 3-5 position-3 : 1-3 position-4 : 3-5//模拟数据{points credits position team56 9.0 1 t154 9.1 …

polymer web componets 大前端

大前端 东南水乡 一叶小舟拂过水面 船上两位大侠把酒言欢 一位是玉真人 另一位是张真人 两人喝到开心处 变作对联起来 上联 前端研究&#xff0c;研究个屁~ 下联 前端设计&#xff0c;设计个屁~ 横批 前端sb特色 polymer 提供创建自定义和标准dom元素类似的自定义元素功能 可以…

citespace安装如何配置JAVA_citespace超详细安装教程

想用citespace写篇量化的文献综述但是试了很多次一直运行不了&#xff0c;无奈因为要分析的论文太多&#xff0c;只能继续学着下载……在踩了很多坑之后终于搞定了&#xff01;&#xff01;我参考了知乎大神们写的学习指南&#xff0c;但在下载过程中还是会遇到一点点小问题&am…

Ubuntu下安装配置JDK

第一步&#xff1a;下载jdk-7-linux-i586.tar.gz wget -c http://download.oracle.com/otn-pub/java/jdk/7/jdk-7-linux-i586.tar.gz 若失败&#xff0c;则自行下载即可。 第二步&#xff1a;解压安装 sudo tar zxvf ./jdk-7-linux-i586.tar.gz -C /usr/lib/jvm cd /usr/lib/…

必应(Bing)每日图片获取API

必应(Bing)每日图片获取API January 11, 2015 API http://lab.dobyi.com/api/bing.php 介绍 ValueDescriptiontitle标题desc描述url图片地址你们自由发挥……

java取模多位数_JAVA大数类—基础操作(加减乘除、取模、四舍五入、设置保留位数)...

当基础数据类型长度无法满足需求时可以使用大数类构造方法接受字符串为参数1 BigInteger bInt new BigInteger("123123");2 BigDecimal bDouble new BigDecimal("123123.123123124");基础操作(取模使用divideAndRemainder方法&#xff0c;返回的数组第二…

HDU 4902

数据太弱&#xff0c;直接让我小暴力一下就过了&#xff0c;一开始没注意到时间是15000MS&#xff0c;队友发现真是太给力了 #include <cstdio> #include <cstring> int n,q,a[100005],x[100005],p,l[100005],r[100005],t[100005]; int tree[1000005]; void build(…

tcp/udp高并发和高吐吞性能测试工具

在编写一个网络服务的时候都比较关心这个服务能达到多少并发连接,而在这连接的基础上又能达到一个怎样的交互能力.编写服务已经是一件很花力气的事情,而还要去编写一个能够体现结果的测试工具就更加消耗工作时间.下面介绍一个测试工具只需要简单地设置一下就能对tcp/udp服务进行…

java socket 对方关闭_java Socket判断对方是否已关闭连接

如何判断远端socket是否已经断开连接&#xff0c;如果断开那么需要重新连接。1通过socket类的方法isClosed()、isConnected()、isInputStreamShutdown()、isOutputStreamShutdown()等&#xff0c;这些方法都是本地端的状态&#xff0c;无法判断远端是否已经断开连接。2通过Outp…

几个数字的和

ctrl z 的使用 #include<iostream> using namespace std;main() {int num,sum0;while(cin>>num) {sumnum;}cout<<"和为"<<sum<<endl; } View Code#include<iostream> using namespace std; main() { int num,s…

sharepoint 2013基于AD的Form表单登录(三)——选择用户时,屏蔽掉AD。

//来源&#xff1a;http://www.cnblogs.com/lrforever/p/3695820.html 隐藏AD人员选择&#xff0c;$ad.IsVisible设置为true&#xff0c;则显示出AD里用户$cpm Get-SPClaimProviderManager $ad get-spclaimprovider -identity "AD" $ad.IsVisible $false $cpm.Up…

java synchronized boolean_java中synchronized关键字

代码示例&#xff1a;package com.test;/** x,y值为什么不能保持相同&#xff1b;**/public class Pair implements Runnable{boolean b false;private int x;private int y;public Pair(int x,int y){this.x x;this.y y;}public Pair(){}public void incrementX(){x;}publi…

网站在线压力测试工具Load Impact

关于Load ImpactLoad Impact是一个一个在线的网站压力测试服务及工具&#xff0c;模拟多用户同时访问你的站点&#xff0c;并出具报告以分析你的站点可以支撑的访问者数量&#xff0c;它能让你通过简单的几次点击就能测试出你的网站的性能。不过免费用户只能同时并发50个虚拟访…

Loading 遮蔽层 简单实现。

<!--背景div--><div id"bg" class"bg" style"display:none;text-align: center;"></div> <!--loading 图片 div --><div class"mydiv" id"popDiv"><img src"${root }/common/images/…

java服务器向客户端发消息_java一个简单的客户端向服务端发送消息

java一个简单的客户端向服务端发送消息客户端代码&#xff1a;package com.chenghu.tcpip;import java.io.IOException;import java.io.OutputStream;import java.net.InetAddress;import java.net.Socket;//客户端public class TcpClientDemo01 {public static void main(Stri…

sc.next在java什么意思_sc.next() 和 nextLine 的原理

对java的Scanner类的next开头的相关类有点纠结&#xff0c;看了一些博客大致懂了&#xff0c;整理下代码事例直接参考了这位大佬的https://blog.csdn.net/long71751380/article/details/94008351. 总的原理以一段代码为例,scanner类import java.util.Scanner;public class Next…

WPF RichTextBox相关总结

由于公司涉及到聊天对话框的功能&#xff0c;就想到了RichTextBox&#xff0c;查阅相关资料&#xff0c;总结下&#xff1a; 一、RichTextBox的内容相关的类 1.1RichTextBox的内容结构 RichTexBox是个可编辑控件&#xff0c;可编辑我们很容易想到word的可编辑&#xff0c;在wor…

【Construct Binary Tree from Inorder and Postorder Traversal】cpp

题目&#xff1a; Given inorder and postorder traversal of a tree, construct the binary tree. Note:You may assume that duplicates do not exist in the tree. 代码&#xff1a; /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNo…

Remove Duplicates from Sorted Array II leetcode java

题目&#xff1a;Follow up for "Remove Duplicates": What if duplicates are allowed at most twice? For example, Given sorted array A [1,1,1,2,2,3], Your function should return length 5, and A is now [1,1,2,2,3]. 题解&#xff1a;之前是不允许有重…

java中非法运算符_Java 中的运算符和流程控制相关内容的理解

//三元表达式的嵌套int max i > j ? (i > k ? i : k) : (j > k ? j : k);//练习&#xff1a;输出分数所对应的等级 >90 -A >80 -B >70 -C >60 -D <60 -Echar level score > 90 ? A:(score > 80 ? B : (score > 70 ? C : (score >6…