当前位置: 首页 > news >正文

FPGA-PS端编程1:

目标

在小梅哥的zynq 7015上,完成以下目标:

读取 S1 按键的电平,
当 S1 按键为按下状态时,驱动 PS LED 以 1S 的频率闪烁(注意理解 1S 的频率闪烁和 1S的时间翻转两种描述之间的差别),
当 S1 释放后,停止闪烁,
确保 S1释放后 PS_LED 处于熄灭状态。↔
通俗点讲,就是 S1 被按下后 PS_LED 就以 1s 的频率闪烁,释放后就熄灭且不再闪烁,

1S 的频率闪烁和 1S的时间翻转两种描述之间的差别

准备

S1按键的相关信息

ps端的s1按键,绑定在ps端的MIO47引脚。

PS端LED的相关信息

PS端的led绑定在MIO7上。

代码和注释

///*
// * main.c
// *
// *  Created on: 2024年12月10日
// *      Author: Administrator
// */
//
//#include "xparameters.h"
//#include "xil_io.h"
//#include "xgpiops.h"
//#include "sleep.h"
//
//int main(void)
//{
//    u32 reg_val = 0;
//    u32 Data = 0;
//
//设定IO方向, bit7的方向为输出
//    //  方向寄存器(Direction Mode Register),用于设置GPIO引脚是作为输入还是输出
//    reg_val = Xil_In32(XPAR_PS7_GPIO_0_BASEADDR + XGPIOPS_DIRM_OFFSET);
//    // 读出来的数据,给最高位置1,有点我们always@*模块里面做修改,然后再输出的感觉
//    Data = reg_val | (1<<7);
//    // 再将值重新写入到对应的管脚,实现控制
//    Xil_Out32(XPAR_PS7_GPIO_0_BASEADDR + XGPIOPS_DIRM_OFFSET, Data);
//设定输出使能, bit7输出使能
//    // XGPIOPS_OUTEN_OFFSET是 GPIO输出使能寄存器(Output Enable Register)的偏移地址
//    reg_val = Xil_In32(XPAR_PS7_GPIO_0_BASEADDR + XGPIOPS_OUTEN_OFFSET);
//    Data = reg_val | (1<<7);
//    Xil_Out32(XPAR_PS7_GPIO_0_BASEADDR + XGPIOPS_OUTEN_OFFSET, Data);
//
//    while(1)
//    {
//        // 设bit7输出1
//        Data = ((~(1<<7)) << 16) | (1<<7);
//        Xil_Out32(XPAR_PS7_GPIO_0_BASEADDR + XGPIOPS_DATA_LSW_OFFSET, Data);
//        usleep(1000000);
//
//        // 设bit7输出0
//        Data = ((~(1<<7)) << 16) & ~(1<<7);
//        Xil_Out32(XPAR_PS7_GPIO_0_BASEADDR + XGPIOPS_DATA_LSW_OFFSET, Data);
//        // 以微妙为单位进行延时     us  sleep  进率是:s - ms  us ns
//        usleep(3000000);
//    }
//
//    return 0; // 虽然程序中不会运行到此处,一般写return防止编译器警告
//}//在小梅哥的zynq 7015上,完成以下目标:
//
//读取 S1 按键的电平,
//当 S1 按键为按下状态时,驱动 PS LED 以 1S 的频率闪烁(注意理解 1S 的频率闪烁和 1S的时间翻转两种描述之间的差别),
//当 S1 释放后,停止闪烁,
//确保 S1释放后 PS_LED 处于熄灭状态。↔
//通俗点讲,就是 S1 被按下后 PS_LED 就以 1s 的频率闪烁,释放后就熄灭且不再闪烁,#include "xgpiops.h"
#include "unistd.h"XGpioPs Gpio;
XGpioPs_Config *ConfigPtr;int main(void)
{ConfigPtr = XGpioPs_LookupConfig(XPAR_PS7_GPIO_0_DEVICE_ID);XGpioPs_CfgInitialize(&Gpio, ConfigPtr, ConfigPtr->BaseAddr);// 设置PS 端 MIO47管脚的  方向和输出使能XGpioPs_SetDirectionPin(&Gpio, 47, 0);   // 设置使能XGpioPs_SetOutputEnablePin(&Gpio, 47, 0);// 设置PS 端 MIO7管脚的  方向和输出使能XGpioPs_SetDirectionPin(&Gpio, 7, 1);   // 设置使能XGpioPs_SetOutputEnablePin(&Gpio, 7, 1);while(1){// 保持读取47号管脚状态,如果拉高,就意味着要开始闪烁,0.5s亮,0.5s灭// 因为小梅哥按键是摁下去低电平,平常的时候是高电平,所以前面需要加上一个取反的逻辑while (!XGpioPs_ReadPin(&Gpio, 47)){// 设置bit7输出1XGpioPs_WritePin(&Gpio, 7, 0x1);// 持续亮0.5susleep(500000);// 设置bit7输出0XGpioPs_WritePin(&Gpio, 7, 0x0);// 持续灭0.5susleep(500000);}}return 0;
}

相关文章:

FPGA-PS端编程1:

目标 在小梅哥的zynq 7015上&#xff0c;完成以下目标&#xff1a; 读取 S1 按键的电平&#xff0c; 当 S1 按键为按下状态时&#xff0c;驱动 PS LED 以 1S 的频率闪烁(注意理解 1S 的频率闪烁和 1S的时间翻转两种描述之间的差别)&#xff0c; 当 S1 释放后&#xff0c;停止…...

【JavaEE进阶】第一个Spring Boot程序

目录 &#x1f334;安装插件 &#x1f384;Spring Boot介绍 &#x1f333;Spring Boot项目创建 &#x1f6a9;创建Spring Boot项目 &#x1f3c0;jar 包下载不下来问题 &#x1f6a9;启动项目 &#x1f332;目录介绍 &#x1f6a9;src文件 &#x1f6a9;target文件 &…...

RunCam WiFiLink连接手机图传测试

RunCam WiFiLink中文手册从这里下载 一、摄像头端 1.连接天线&#xff08;易忘&#xff09; 2.打开摄像头前面的盖子&#xff08;易忘&#xff09; 3.接上直流电源&#xff0c;红线为正&#xff0c;黑线为负 4.直流电源设置电压为14v&#xff0c;电流为3.15A&#xff0c; 通…...

使用Chat-LangChain模块创建一个与用户交流的机器人

当然&#xff01;要使用Chat-LangChain模块创建一个与用户交流的机器人&#xff0c;你需要安装并配置一些Python库。以下是一个基本的步骤指南和示例代码&#xff0c;帮助你快速上手。 安装依赖库 首先&#xff0c;你需要安装langchain库&#xff0c;它是一个高级框架&#x…...

地级市2011-2020数字经济 博士研究生自用数据

赵涛评价指标数据&#xff0c;具体指标见图片 参考文献: [1]赵涛,张智,梁上坤.数字经济、创业活跃度与高质量发展——来自中国城市的经验证据[J].管理世界,2020,36(10):65-76. 每百人移动电话数&#xff0c;是模仿赵涛的&#xff0c;指人均再➗100 数据来源&#xff0c;中国城…...

呼叫中心部门如何使用开源大模型智能呼叫中心,对接已有系统实现降本增效

呼叫中心部门如何使用开源大模型智能呼叫中心&#xff0c;对接已有系统实现降本增效 作者&#xff1a;开源大模型智能呼叫中心FreeIPCC 随着人工智能技术的快速发展&#xff0c;特别是大规模语言模型&#xff08;LLM&#xff09;的应用&#xff0c;企业可以通过将开源大模型与…...

Latex 转换为 Word(使用GrindEQ )(英文转中文,毕业论文)

效果预览 第一步&#xff1a; 告诉chatgpt&#xff1a; 将latex格式中的英文翻译为中文&#xff08;符号和公式不要动&#xff09;,给出latex格式第二步&#xff1a; Latex 转换为 Word&#xff08;使用GrindEQ &#xff09; 视频 https://www.bilibili.com/video/BV1f242…...

多态中虚函数调用问题

在多态中&#xff0c;一般通过虚函数表会调用子类重写的虚函数&#xff0c;然而&#xff0c;有一种情况调用的还是父类的虚函数&#xff0c;就是在父类的构造函数中调用的是父类的虚函数&#xff0c;无论子类是否重写。 #include <iostream> #include <list> #inc…...

【NLP 18、新词发现和TF·IDF】

目录 一、新词发现 1.新词发现的衡量标准 ① 内部稳固 ② 外部多变 2.示例 ① 初始化类 NewWordDetect ② 加载语料信息&#xff0c;并进行统计 ③ 统计指定长度的词频及其左右邻居字符词频 ④ 计算熵 ⑤ 计算左右熵 ​编辑 ⑥ 统计词长总数 ⑦ 计算互信息 ⑧ 计算每个词…...

windows服务器Oracle TNS 远程监听器中毒

修复Oracle TNS 监听器远程中毒漏洞 1.1 修改监听文件 如何快速找到listener.ora &#xff1f; cmd输入 tnsping localhost 修改配置文件&#xff0c;路径以自己的实际路径为准&#xff0c;我都在D盘 listener.ora内容如下&#xff1a; #listener.ora Network Configuration F…...

GitLab的安装和使用

1.GitLab 环境说明 系统版本 CentOS 7.2 x86_64 软件版本 gitlab-ce-10.8.4 GitLab 是一个用于仓库管理系统的开源项目&#xff0c;使用Git作为代码管理工具&#xff0c;并在此基础上搭建起来的web服务。可通过Web界面进行访问公开的或者私人项目。它拥有与Github类似的功能…...

常用的JVM启动参数有哪些?

大家好&#xff0c;我是锋哥。今天分享关于【常用的JVM启动参数有哪些?】面试题。希望对大家有帮助&#xff1b; 常用的JVM启动参数有哪些? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 JVM启动参数用于配置Java虚拟机&#xff08;JVM&#xff09;的运行时行为…...

MobaXterm 连接不上VMware 的Ubuntu 虚拟机

想在window11的笔记本上通过VMWare安装Ubuntu操作系统&#xff0c;但是在两个桌面见来回切换&#xff0c;十分的麻烦&#xff0c;于是通过远程服务访问客户端软件MateXterm来访问虚拟机的Linux系统&#xff0c;但是从CSDN上搜到的教程都没有成功&#xff0c;于是&#xff0c;尝…...

异步BUCK二极管损耗计算

异步BUCK工作原理 Q闭合时&#xff08;Ton&#xff09;&#xff0c;输入电压Vin为电感L和输出电容Cout充电&#xff0c;同时为负载供电&#xff1b;Q断开时&#xff08;Toff&#xff09;&#xff0c;电感L为负载供电&#xff0c;电流通过续流二极管D回流到电感L&#xff1b; 之…...

【WPF】把DockPanel的内容生成图像

要在WPF中将一个 DockPanel 的内容生成为图像并保存&#xff0c;可以按照与之前类似的步骤进行&#xff0c;但这次我们将专注于 DockPanel 控件而不是整个窗口。 DockPanel的使用 WPF&#xff08;Windows Presentation Foundation&#xff09;中的 DockPanel 是一种布局控件&…...

STM32定时器对象捕获功能测量市电频率

在很多嵌入式系统中&#xff0c;精确地测量外部信号的频率是一个常见需求&#xff0c;尤其是对于需要同步外部电源&#xff08;如市电&#xff09;的应用。市电频率&#xff08;50Hz或60Hz&#xff09;是电力系统中一个至关重要的参数。在许多场景下&#xff0c;特别是UPS&…...

[react]5、React脚手架

1、前端脚手架 1、Vue的脚手架&#xff1a;vue-cli 2、Angular的脚手架&#xff1a;angular-cli 3、React的脚手架&#xff1a;create-react-app 目前这些脚手架都是使用node编写的&#xff0c;并且都是基于webpack的&#xff0c;需要在电脑上安装node环境 脚手架的作用是帮助我…...

uni-app开发个人中心页面

目录 一:功能实现 二:功能实现 一:功能实现 个人中心主要展示用户的个人信息,订单信息以及其他模块信息包含收藏,我的地址,我的钱包等。页面分为三个部分,底部显示用户信息和个人设置等。中间部分显示订单信息可以点击查看订单列表,底部显示其他模块信息。 二:功…...

Ubuntu 20.04 卸载和安装 MySQL8.0

卸载 首先&#xff0c;检查一下系统安装的软件包有哪些&#xff0c;使用dpkg -l | grep mysql命令&#xff1a; 为了将MySQL卸载干净&#xff0c;这些文件都需要被删除。 在Ubuntu20.04系统下&#xff0c;卸载干净MySQL8.0以确保下一次安装不会出错&#xff0c;可以按照以下…...

【深度学习-论文】通俗易懂的理解多标签识别

文章目录 1. 文章主要内容2. 通俗易懂的理解多标签分类到底是如何实现的通俗易懂的多标签分类实现介绍实现步骤为什么这么做?小结论文题目:Rada r emitter multi-la bel recognition based on residual network 基于残差网络的雷达发射机多标签识别1. 文章主要内容 《基于残…...

“TA”说|表数据备份还原:SQLark 百灵连接助力项目部署验收

&#x1f4ac; 南飞雁&#xff5c;应用开发工程师 有些重要项目的部署验收&#xff0c;会在生产环境完成&#xff0c;验收完成后&#xff0c;又需要把这部分数据清空。这时就需要对数据表进行备份和还原&#xff0c;虽然可以通过命令直接实现&#xff0c;但是有一些操作门槛&am…...

android studio方便快捷保存数据读取数据(SharedPreferences)

原理&#xff1a;会自动生成一个xml文件&#xff0c;然后保存参数。xml文件的名字就是要读取的文件的名字。可以创建多个这样的xml文件。&#xff08;储存方式是键值对方式&#xff0c;一个名字 对应 一个值&#xff09; 首先先创建两个对象 private SharedPreferences shar…...

31.设计模式

单例模式 比如工具类&#xff0c;进需要一个实例&#xff0c;即可以在各处处理。用以节省创建类对象的开销和内存的开销。 保证一个类只有一个实例&#xff0c;而客户可以从一个众所周知的访问点访问它。 实现一个简单的单例 在一个python文件中定义一个类&#xff0c;并创…...

RTOS之邮箱

邮箱 邮箱 (Mailbox) 服务是实时操作系统中一种常用的线程间通信机制。它提供了一种高效、低开销的消息传递方式&#xff0c;允许线程之间交换固定大小的数据。 1. 邮箱的应用场景 考虑一个简单的示例&#xff1a;线程 1 负责检测按键状态并将状态信息发送出去&#xff0c;线程…...

Linux setfacl 命令详解

文章目录 Linux setfacl 命令详解一、ACL 和 setfacl 简介二、基本语法三、常用操作1. 查看 ACL2. 为用户设置权限3. 为组设置权限4. 删除 ACL 条目5. 设置默认 ACL6. 递归设置 ACL 四、示例操作1. 创建示例目录和文件2. 设置 ACL3. 验证 ACL 五、注意事项六、总结 Linux setfa…...

OpenCV 学习记录:首篇

最近在学习机器视觉&#xff0c;希望能通过记录博客的形式来鞭策自己坚持学完&#xff0c;同时也把重要的知识点记录下来供参考学习。 1. OpenCV 介绍与模块组成 什么是 OpenCV&#xff1f; OpenCV (Open Source Computer Vision Library) 是一个开源的计算机视觉和机器学习软…...

Java游戏开发基础:从零开始制作一个简单的2D游戏

目录 游戏开发概述 开发工具 项目结构 1. 创建游戏窗口 2. 游戏面板 解释&#xff1a; 3. 玩家类 解释&#xff1a; 4. 障碍物类 解释&#xff1a; 5. 游戏循环与碰撞检测 总结 在现代游戏开发中&#xff0c;Java被广泛应用于创建各种类型的游戏&#xff0c;特别是…...

入门STL(map/multiset)

目录 ​编辑 1.map 输入 输出 样例 输入 输出 解题代码&#xff1a; 2.multiset 输入 输出 样例 输入 输出 解题代码&#xff1a; 留下你的足迹吧&#xff01;谢谢。 1.map map函数是一个内置函数&#xff0c;它允许你对一个序列&#xff09;的每个元素应用…...

【mysql】1205 -Lock wait timeout exceeded; try restarting transaction

问题&#xff1a; mysql8执行SQL提示下面错误&#xff1a; 1205 -Lock wait timeout exceeded; try restarting transaction 1205-超过锁定等待超时&#xff1b;尝试重新启动事务 可能的原因&#xff1a; 事务冲突&#xff1a;多个事务同时尝试修改同一行数据&#xff0c;导…...

【开源免费】基于SpringBoot+Vue.JS在线宠物用品交易网站(JAVA毕业设计)

本文项目编号 T 092 &#xff0c;文末自助获取源码 \color{red}{T092&#xff0c;文末自助获取源码} T092&#xff0c;文末自助获取源码 目录 一、系统介绍二、数据库设计三、配套教程3.1 启动教程3.2 讲解视频3.3 二次开发教程 四、功能截图五、文案资料5.1 选题背景5.2 国内…...

postman读取文件执行

要从文件获取的变量 text 在pre-request 中写从文件获取数据的脚本。脚本实现了&#xff0c;设置了text默认值&#xff0c;从文件读取text列&#xff0c;将text存入环境变量 //获取text参数 var text "济南天气"; if(data.text){ text data.text } pm.environment.…...

UDP系统控制器_音量控制、电脑关机、文件打开、PPT演示、任务栏自动隐藏

UDP系统控制器(ShuiYX) 帮助文档 概述 本程序设计用于通过UDP协议接收指令来远程控制计算机的音量、执行特定命令和其他功能。为了确保程序正常工作&#xff0c;请确认防火墙和网络设置允许UDP通信&#xff0c;并且程序启动后会最小化到托盘图标。 命令格式及说明 音量控制…...

pydantic BaseModel

1. Pydantic 是什么&#xff1f; Pydantic 是一个Python库&#xff0c;主要用于数据验证和设置管理。它通过定义数据模型&#xff08;Model&#xff09;来确保输入数据的类型和结构符合预期。 Pydantic 的核心功能是基于Python的类型提示&#xff08;Type Hints&#xff09;&a…...

[创业之路-202]:任正非管理华为的思想与毛泽东管理党、军队、国家的思想的相似性与差异性

目录 一、相似性 1、指导思想 2、管理策略 3、危机意识与自我否定 4、理想主义与奋斗精神 二、差异性 1、哲学基础与思想倾向 2、管理方法与策略 3、组织文化与价值观 一、相似性 任正非管理华为的思想与毛泽东管理党、军队、国家的思想在多个方面存在相似性。 以下…...

【渗透测试】|brupsuit的使用

一、 1.1爆破模块&#xff1a; 1、将拦截发送到intruder模块 2、在intruder模块设置pyaload位置 3、选择攻击类型 4、 5、设置好攻击类型和payload集就可以点击开始攻击&#xff0c;点击后弹出具体攻击详情 6、【payloads】模块相关 6.1 payload集为【简单列表】 添加&…...

MySQL三大日志-Binlog

Binlog简介 Redo Log 是属于InnoDB引擎所特有的日志&#xff0c;而MySQL Server也有自己的日志&#xff0c;即 Binary log&#xff08;二进制日志&#xff09;&#xff0c;简称Binlog。Binlog是记录所有数据库表结构变更以及表数据修改的二进制日志&#xff0c;不会记录SELECT…...

vue.js 指令的修饰符

Vue.js 提供了一些指令修饰符&#xff0c;用于在指令的行为上添加额外的功能。下面详细解析一些常用的指令修饰符&#xff0c;并提供相应的代码实例。 .prevent&#xff1a;阻止默认事件 通过添加 .prevent 修饰符&#xff0c;可以阻止指令绑定的元素触发默认事件。 代码实例&a…...

重撸设计模式--代理模式

文章目录 定义UML图代理模式主要有以下几种常见类型&#xff1a;代理模式涉及的主要角色有&#xff1a;C 代码示例 定义 代理模式&#xff08;Proxy Pattern&#xff09;属于结构型设计模式&#xff0c;它为其他对象提供一种代理以控制对这个对象的访问。 通过引入代理对象&am…...

“从零到一:揭秘操作系统的奇妙世界”【操作系统系统调用】

【1】定义 系统调用是用户空间程序请求操作系统服务的一种机制。系统调用的调用程序运行在用户态&#xff0c;被调用程序运行在内核态。系统调用可以嵌套使用。系统调用是通过中断机制实现的&#xff0c;并且一个OS的所有系统调用都通过一个中断入口来实现参数通常通过寄存器传…...

MQTT协议常见问题

在MQTT协议中&#xff0c;发送DISCONNECT报文与在TCP层调用network_disconnect&#xff08;或类似的函数&#xff0c;具体名称可能因实现而异&#xff09;之间存在重要的关系&#xff0c;这涉及到协议的正确性和资源的正确释放。 ### MQTT DISCONNECT报文 MQTT DISCONNECT报文…...

ArcGIS计算土地转移矩阵

在计算土地转移矩阵时&#xff0c;最常使用的方法就是在ArcGIS中将土地利用栅格数据转为矢量&#xff0c;然后采用叠加分析计算&#xff0c;但这种方法计算效率低。还有一种方法是采用ArcGIS中的栅格计算器&#xff0c;将一个年份的地类编号乘以个100或是1000再加上另一个年份的…...

数据结构十大排序之(冒泡,快排,并归)

接上期&#xff1a; 数据结十大排序之&#xff08;选排&#xff0c;希尔&#xff0c;插排&#xff0c;堆排&#xff09;-CSDN博客 前言&#xff1a; 在计算机科学中&#xff0c;排序算法是最基础且最重要的算法之一。无论是大规模数据处理还是日常的小型程序开发&#xff0c;…...

MySql:基本查询

✨✨作者主页&#xff1a;嶔某✨✨ ✨✨所属专栏&#xff1a;MySql✨✨ 本文的代码中&#xff0c; [ ] 里面的都可以省略 在 MySQL 中&#xff0c;CRUD 是数据库操作的核心&#xff0c;代表以下四种基本操作&#xff1a; C&#xff08;Create&#xff09;&#xff1a;创建、插…...

28、基于springboot的房屋租赁系统

房屋是人类生活栖息的重要场所&#xff0c;随着城市中的流动人口的增多&#xff0c;人们对房屋租赁需求越来越高&#xff0c;为满足用户查询房屋、预约看房、房屋租赁的需求&#xff0c;特开发了本基于Spring Boot的房屋租赁系统。 本文重点阐述了房屋租赁系统的开发过程&…...

96 vSystem

vSystem系统 1 技术背景 网络虚拟化旨在构建出一套与网络底层物理拓扑相互独立的逻辑网络环境&#xff0c;提供给不同需求的用户使用。基于这种思想&#xff0c;诞生出了 VLAN 技术和 VPN 技术。近年来&#xff0c; 随着以 VMM&#xff08;Virtual Machine Monitor&#xff0c…...

[创业之路-197]:华为的发展路径启示

目录 前言&#xff1a; 一、由小公司走向大公司&#xff1a; 二、由农村包围城市&#xff1a; 三、由国内走向国际&#xff1a; 四、由代理商走向设备商&#xff0c;再到系统方案商&#xff0c;再到生态系统的搭建&#xff1a; 五、由随性到跟随&#xff0c;到赶超&#…...

两款Windows电脑便签,常用的电脑桌面便签小工具推荐

现在的职场环境中&#xff0c;效率高低会影响我们的去留以及晋升&#xff0c;而电脑便签无疑是提高效率的重要辅助工具。对于Windows电脑的用户来说&#xff0c;选择合适的电脑桌面便签小工具尤为重要。今天为大家推荐两款使用过且好用实用的Windows电脑便签&#xff0c;希望可…...

sql server索引优化语句

第一步 建一个测试表 --create table TestUsers --( -- Id int primary key identity(1,1), -- Username varchar(30) not null, -- Password varchar(10) not null, -- CreateDateTime datetime not null --)第二步 插入100w数据 大概1分钟执行时间 ----插入数据…...

从监控异常发现网络安全

前言 最近在前端异常监控系统中&#xff0c;发现一些异常信息&#xff0c;从中做了一些分析&#xff0c;得到一些体会&#xff0c;因此作文。 发现异常 某天早上打开监控系统发现&#xff0c;当天凌晨1点过测试环境有2个前端上报的异常&#xff0c;报错的原因都是由于没有获取…...

Android学习(七)-Kotlin编程语言-Lambda 编程

Lambda 编程 而 Kotlin 从第一个版本开始就支持了 Lambda 编程&#xff0c;并且 Kotlin 中的 Lambda 功能极为强大。Lambda 表达式使得代码更加简洁和易读。 2.6.1 集合的创建与遍历 集合的函数式 API 是入门 Lambda 编程的绝佳示例&#xff0c;但在开始之前&#xff0c;我们…...