码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【【萌新的SOC学习之GPIO之MIO控制LED实验程序设计】】


    萌新的SOC学习之GPIO之MIO控制LED实验程序设计

    如何设置完GPIO并且传递数据
    我们先了解GPIO引脚的配置
    每一个GPIO引脚都可以设置成输入输出 ,只有GPIO8 7 只能作为输出

    我们现在做一个例子 GPIO 的bank我们知道有4个 bank0 1 2 3
    DIRM_0 就是第一个bank 需要写入的是32位数据
    因为写法是16进制 假设我们要操作 第10位置为1
    那就是write 0x0000_0400 我们分析最后的几个位 我们可以看到是 100_0000_0000 正好是第10个管脚被置为了1
    我们在上面的设置中还知道不仅要配置 DIRM 还要配置OEN
    在这里插入图片描述
    所以对于OEN这样的寄存器我们也需要把它的第十位设置为1 0x0000_0400 (16进制)
    OEN寄存器比较特殊 只有当我们配置成输出模式的时候才有意义也就是在DIRM=1时 ,当我们前面的DIRM=0 时 OEN就会没有别的意义

    我们把MIO设置为输入 只要把DIRM_0设置为 全0就可以了

    接下来我们需要把数据写入

    我们本次实验的任务是 使用PS端的MIO控制LED ,实现LED闪烁的效果
    我们来看本次实验的系统框图
    在这里插入图片描述
    按照步骤创建完 会打开到一个SDK软件 其中的有
    在这里插入图片描述
    我们对这些数据敏感就会发现了
    0xe000_a000
    在这里插入图片描述
    下一个实验GPIO之EMIO按键控制LED实验
    实验任务: 使用ZYNQ底板上的三个用户按键分别控制PS端的三个LED的亮灭,其中一个按键需要通过EMIO进行扩展。
    但是ZYNQ的底板上只有2个PS端的用户按键,要是用三个的话,就需要通过EMIO进行扩展
    在这里插入图片描述
    PS端的按键不够用 我们通过EMIO扩展 PL的按键
    在这里插入图片描述
    当我们的设计需要用到PL的资源时,我们就需要导出bitstream配置FPGA

    我们想要读出数据可以直接使用GPIO_RO_x寄存器

    把DIRM写0 就可以配置成输入了
    如何配置MIO的输入?
    配置成输入
    读MIO_RO 寄存器
    在这里插入图片描述
    我们观察底板的电路图会发现

    PS LED1 连接到的是 PS MIO8
    PS LED0 连接到的是 PS MIO7
    PS KEY0 连接到的是PS MIO12
    PS KEY1 连接到的是PS MIO11
    还有一个PS LED 直接接到了MIO0_LED上
    PL端的KEY0 用的是L14

    我们在vivado中实现 但是发现我们使用EMIO就需要给它分配管脚
    在调用PS端的时候并不需要,因为它会自动给我们分配管脚
    但是PL端需要我们自己去设置

  • 相关阅读:
    java计算机毕业设计web企业档案管理系统MyBatis+系统+LW文档+源码+调试部署
    Java 异步编程 (5 种异步实现方式详解)
    双非本科是如何逆袭的?这位同学有点东西
    10分钟搞懂,Python接口自动化测试-接口依赖-实战教程
    C高级day1 shell 指令的补充学习
    ideaSSM 校园兼职招聘平台bootstrap开发mysql数据库web结构java编程计算机网页源码maven项目
    java毕业设计在线文档管理系统Mybatis+系统+数据库+调试部署
    2023-09-27 Cmake 编译 OpenCV+Contrib 源码通用设置
    OpenStack云计算平台实战-----创建空白虚拟机
    顶级人工智能会议接收率及信息
  • 原文地址:https://blog.csdn.net/weixin_50965981/article/details/133773574
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号