ZYNQ连载07-PIN设备

这篇具有很好参考价值的文章主要介绍了ZYNQ连载07-PIN设备。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

ZYNQ连载07-PIN设备

1. 简述

RT-Thread PIN设备
这里参看RT-Thread提供的PIN设备管理接口,简单封装了几个接口函数。
ZYNQ连载07-PIN设备,ZYNQ,ZYNQ,Linux,FreeRTOS文章来源地址https://www.toymoban.com/news/detail-717241.html

2. 实现

#include "include/drv_gpio.h"
#define LOG_TAG    "drv_gpio"
static XGpioPs xgpiops;


void rt_pin_mode(rt_base_t pin, rt_uint8_t mode)
{
	XGpioPs_Config *xgpiops_config;
	xgpiops_config = XGpioPs_LookupConfig(XPAR_XGPIOPS_0_DEVICE_ID);
	if (XST_SUCCESS != XGpioPs_CfgInitialize(&xgpiops, xgpiops_config, xgpiops_config->BaseAddr))
		log_e("XGpioPs_CfgInitialize fail");

	switch (mode)
	{
		case PIN_MODE_OUTPUT:
			XGpioPs_SetDirectionPin(&xgpiops, pin, 1);
			XGpioPs_SetOutputEnablePin(&xgpiops, pin, 1);
			break;
		case PIN_MODE_INPUT:
			XGpioPs_SetDirectionPin(&xgpiops, pin, 0);
			break;
		default:
			log_e("XGpioPs_SetDirectionPin fail");
			break;
	}
}


void rt_pin_write(rt_base_t pin, rt_uint8_t value)
{
	XGpioPs_WritePin(&xgpiops, pin, value);
}

rt_int8_t rt_pin_read(rt_base_t pin)
{
	return (rt_int8_t)XGpioPs_ReadPin(&xgpiops, pin);
}

到了这里,关于ZYNQ连载07-PIN设备的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【STM32&RT-Thread零基础入门】 3. PIN设备(GPIO)的使用

    硬件:STM32F103ZET6、ST-LINK、usb转串口工具、4个LED灯、1个蜂鸣器、4个1k电阻、2个按键、面包板、杜邦线 在嵌入式系统中,GPIO是最常用的一种设备,在RT-Thread操作系统中,把GPIO命名为PIN设备。 RT-Thread通过PIN设备对芯片的GPIO引脚进行管理,应用程序可以通过其提供的一组PIN设备

    2024年02月13日
    浏览(46)
  • ZYNQ使用AXI DMA(Scatter/Gather)模式进行PL与PS数据交互附源码(ps端移植freertos或者裸机)

    AXI DMA 操作需要先提供一个在内存中驻留的不变空间,用于存储需要进行的DMA操作。形容这“每一次操作”的东西叫做Buffer Descriptor,缩写叫BD,这些BD是连接成链表的形式的,因为BD会动态增加,而预先分配存储BD的空间是恒定的,因此BD被连成一个环(BD Ring),其实就是一个循

    2024年02月09日
    浏览(37)
  • 【HUST】网络攻防实践|6_物联网设备固件安全实验|实验三 FreeRTOS-MPU 保护绕过

    写在最前:一定要 先将 task3.sct 文件链接到项目中 ,具体操作后文有写,而且我在附加内容里解释了sct文件的含义。 终于可以告别这个实践了。大家在心得里可以加一句“ 任务量较大,建议减少任务量 ”吗? MPU预设置: a) 编写 C 代码实现基于 FreeRTOS-MPU v10.4 的提权代码和

    2024年02月09日
    浏览(38)
  • 【IMX6ULL驱动开发学习】07.驱动程序分离的思想之平台总线设备驱动模型和设备树

    目录 一、驱动程序分离的思想 二、设备树 2.1 使用设备树 三、平台总线设备驱动模板 【IMX6ULL驱动开发学习】05.字符设备驱动开发模板(包括读写函数、poll机制、异步通知、定时器、中断、自动创建设备节点和环形缓冲区)_阿龙还在写代码的博客-CSDN博客 之前编写驱动程序

    2024年02月07日
    浏览(39)
  • 基于STM32的homeassistant(采用FreeRTOS操作系统)【第一章:设备配网、连接服务器、断网重连、断服务器重接】

      主控 STM32F103C8T6 WIFI模块 ESP01S 开发语言 C 开发编译器· KEIL 组网方式 WIFI 服务器协议 MQTT ESP01S的AT指令配网以及服务器连接 STM32与ESP01S的usart协议通信 断网重连以及断服务器重连 STM32向服务器端口发送对应指令         ESP01S的配网方式为AT指令集,通过识别对对应的AT指令

    2024年02月12日
    浏览(50)
  • ZYNQ7045从flash启动linux

    自行安装linux版本的vivado,和xilinx开发环境。linux版本我选择的是Ubuntu18.04,ubuntu系统下xilinx开发环境我安装的是vivado 2018.3(安装时候要记得勾选SDK),安装好vivado后也就包含了xilinx的ARM部分交叉编译器。 petalinux 并不是一个特殊 Linux 内核,而是一套开发环境配置的工具,降低 ubo

    2023年04月12日
    浏览(32)
  • 基于XG24-EK2703A的BLE HID蓝牙键盘+鼠标复合设备功能开发(BLE+HID+FreeRTOS+Gecko SDK)

    👉 【Funpack3-1】基于XG24-EK2703A的BLE HID蓝牙键盘+鼠标复合设备 👉 Github: EmbeddedCamerata/XG24_ble_hid_keymouse 本项目基于Silicon Labs XG24-EK2703A开发板,通过HID协议实现了一个蓝牙键盘+鼠标复合设备,可通过按键实现上下翻页、发送字符功能。使用板载两个按键,当BTN0按下,向上翻页;

    2024年01月25日
    浏览(44)
  • petalinux定制ZYNQ的Linux操作系统

    在进行Zynq-7000的Linux系统开发时,Xilinx官方提供了一个名为petalinux的工具。该工具运行在pc端的linux环境下,使用这个工具可以为目标板有量身定制kernel、rootfs等。该工具可与vivado设计工具一起配合使用,旨在简化 Zynq-7000 的Linux系统开发过程,提高设计生产力。本文将介绍pe

    2024年02月16日
    浏览(41)
  • 【ZYNQ】Linux驱动之梦开始的地方

    软件版本:Vivado2021.1 操作系统:WIN10 64bit、Ubuntu18.04 硬件平台:ZYNQ UltraScale 在 PS 端接有两个 LED 灯,这些灯接在了 MIO 上,而 MIO 可以复用成为 GPIO,因此控制 GPIO 其实就是控制了 LED 等器件。本文通过读写寄存器来实现对 GPIO 的控制。 1.2.1寄存器查询手册   使用 GPIO 需要设

    2024年02月14日
    浏览(34)
  • ZYNQ AXI-DMA Linux Cache 一致

    平台为 ZYNQ MPSOC 项目使用到AXI-DMA ,ADC模块传输数据到DDR,应用层进行数据的读取。在此做些记录 用到了AXI-Stream , IP核用的 米联客的ui_axisbufw,可以把流数据转为AXI-Stream 接口 比较重要的参考链接 1.UltraScale+MPSoC+Cache+Coherency https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18842098/Zynq+

    2024年02月03日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包