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

云服务器可以做网站吗做网站需要美工吗

云服务器可以做网站吗,做网站需要美工吗,思乐科技 成都网站建设,漳州做网站公司目录 一、ZYNQ中MIO和EMIO简介 二、Vivado中搭建block design 1.配置PS端MIO#xff1a; 2.配置PS端EMIO#xff1a; 三、Vitis中新建工程进行GPIO控制 1. GPIO操作头文件gpio_hdl.h#xff1a; 2.GPIO操作源文件gpio_hdl.c#xff1a; 3.main函数进行调用 例程开发…目录 一、ZYNQ中MIO和EMIO简介 二、Vivado中搭建block design 1.配置PS端MIO 2.配置PS端EMIO 三、Vitis中新建工程进行GPIO控制 1. GPIO操作头文件gpio_hdl.h 2.GPIO操作源文件gpio_hdl.c 3.main函数进行调用 例程开发环境 SOC芯片ZYNQ7020 开发环境Vivado2020.2Vitis2020.2 一、ZYNQ中MIO和EMIO简介 以ZYNQ7020为例GPIO总共118个分为了4个bankZU的GPIO和bank数量有所增加其中MIO有两个bank需要注意的是bank1的GPIO数量只有22个其余三个都有32个。 MIO和EMIO均为PS端的GPIO由PS控制其中MIO可直接配置复用成PS外设而EMIO则可以连接到PL端复用为PL端搭建的外设资源 二、Vivado中搭建block design Vivado工程详细搭建方法可见以下文章 ZYNQ-Linux开发之二Vivado工程搭建、Block Design设计搭建、PS、PL的IP核的使用配置 该工程是在ZYNQ-Vitis(SDK)裸机开发之一基础上进行的修改具体文件见如下连接 ZYNQ-VitisSDK裸机开发之一串口收发使用PS串口PL串口、多个串口使用方法 1.配置PS端MIO 双击IP核进行配置选择MIO Configuration-----I/O Peripherals-----GPIO MIO勾选后默认全部MIO都启用 PS端的MIO是不需要在XDC文件中进行约束的可直接使用 我的板卡使用的是MIO7和MIO8分别控制两个LED灯需要根据自己的原理图进行选择 2.配置PS端EMIO 双击IP核进行配置选择MIO Configuration-----I/O Peripherals-----GPIO EMIO勾选后选取使用的EMIO个数我这选择使用4个EMIO其中两个用来控制PL端的LED剩余两个用作其他使用这里不用管。 勾选EMIO后要将连接LED的PL端引脚与EMIO进行约束这样才能通过EMIO来控制PL端LED的亮灭值得注意的是选取EMIO后系统默认是从GPIO0开始使用约束的话也要从GPIO[0]开始约束在XDC文件中增加管脚约束具体对应引脚需要根据自己项目的硬件原理图确定我的PL端两个LED分别连接到了L15和H15对应XDC文件中约束到GPIO[0]和GPIO[1]上如下 三、Vitis中新建工程进行GPIO控制 1. GPIO操作头文件gpio_hdl.h 1定义GPIO初始化以及配置使用的实例多个GPIO其实可以公用同一个实例这里为了方便分区才每个GPIO都实例化了一个结构体 2使用宏定义重新定义PS GPIO的外设ID号 3定义工程中使用到的GPIO号这里有个需要注意的地方在第一章节就说明了GPIO分为4个bank其中0、1bank是MIO2、3bank是EMIO工程中使用了两个MIO和两个EMIO那么这四个GPIO对应的IO号并不是连续的参见如下关系可知本工程中MIO对应的GPIO号是7、8EMIO对应的GPIO号是54、55因为在vivado中约束时将PL端的LED约束到了EMIO的[0]和[1]上从bank的开头数起对应bank2上的GPIO号即54、55 /* *     Max pins in the GPIO device    ZYNQ *     0 - 31,  Bank 0 *     32 - 53, Bank 1 *     54 - 85, Bank 2 *     86 - 117, Bank 3 */ 4定义一些枚举变量用来表示GPIO的输入输出方向、电平的高低、以及是否使能状态等 5声明一些GPIO操作相关的函数例如GPIO初始化、GPIO点评输出、GPIO输入等操作函数 /*!\file gpio_hdl.h\brief firmware functions to manage gpio\version 2024-04-10, V1.0.0\author tbj */#ifndef GPIO_HDL_H #define GPIO_HDL_H#include xgpiops.h#ifdef __cplusplusextern C { #endif//GPIO初始化实例 XGpioPs MIOLed0, MIOLed1, EMIOLed0, EMIOLed1;//GPIO外设地址ID #define GPIO_DEVICE_ID XPAR_XGPIOPS_0_DEVICE_ID//LED灯对应的PS和PL的IO #define LED0_GPIO_PS_MIO 7 #define LED1_GPIO_PS_MIO 8 #define LED0_GPIO_PL_EMIO 55 #define LED1_GPIO_PL_EMIO 54typedef enum{GPIO_DIR_INPUT 0,GPIO_DIR_OUTPUT, }GPIO_DIR;typedef enum{GPIO_VALUE_OFF 0,GPIO_VALUE_ON, }GPIO_VALUE;typedef enum{GPIO_DISABLE 0,GPIO_ENABLE, }GPIO_EN_STU;//初始化GPIO int gpio_polled_init(XGpioPs * Gpio_Ptr, u32 Gpio_Pin, GPIO_DIR Gpio_dir, GPIO_VALUE Gpio_init_value,GPIO_EN_STU Gpio_en); //设置GPIO输出 int set_gpio_value(XGpioPs * Gpio_Ptr, u32 Gpio_Pin, GPIO_VALUE Gpio_value); //读取GPIO输入 int read_gpio_value(XGpioPs * Gpio_Ptr, u32 Gpio_Pin, GPIO_VALUE *Gpio_value);#ifdef __cplusplus } #endif#endif /* GPIO_HDL_H */2.GPIO操作源文件gpio_hdl.c 1分别对头文件中声明的三个GPIO相关函数进行了实现 /*!\file gpio_hdl.c\brief firmware functions to manage gpio\version 2024-04-10, V1.0.0\author tbj */#include gpio_hdl.h//GPIO初始化实例,因为EMIO也属于PS所以都使用XGpioPs结构体多个GPIO也可以只初始化一个实例共用/* 功能gpio初始化函数* 参数1GpioPtr-GPIO对象指针* 参数2Gpio_Pin-GPIO对应pin* 参数3Gpio_dir-GPIO方向输入还是输出* 参数4Gpio_init_value-GPIO初始化值* 参数5Gpio_en-GPIO是否使能* 说明Gpio_init_value和Gpio_en只有配置输出时有效配置为输入模式时可以随意填写*/ int gpio_polled_init(XGpioPs * Gpio_Ptr, u32 Gpio_Pin, GPIO_DIR Gpio_dir, GPIO_VALUE Gpio_init_value,GPIO_EN_STU Gpio_en){int Status;XGpioPs_Config *ConfigPtr;ConfigPtr XGpioPs_LookupConfig(GPIO_DEVICE_ID);Status XGpioPs_CfgInitialize(Gpio_Ptr, ConfigPtr,ConfigPtr-BaseAddr);if (Status ! XST_SUCCESS) {return XST_FAILURE;}//配置GPIO的输入输出模式XGpioPs_SetDirectionPin(Gpio_Ptr, Gpio_Pin, Gpio_dir);//如果GPIO配置为输出模式还要配置使能和默认输出值if(Gpio_dir GPIO_DIR_OUTPUT){//使能输出的GPIOXGpioPs_SetOutputEnablePin(Gpio_Ptr, Gpio_Pin, Gpio_en);//初始化GPIO的值XGpioPs_WritePin(Gpio_Ptr, Gpio_Pin, Gpio_init_value);}/** Max pins in the ZynqMP GPIO device ZU* 0 - 25, Bank 0* 26 - 51, Bank 1* 52 - 77, Bank 2* 78 - 109, Bank 3* 110 - 141, Bank 4* 142 - 173, Bank 5*//** Max pins in the GPIO device ZYNQ* 0 - 31, Bank 0* 32 - 53, Bank 1* 54 - 85, Bank 2* 86 - 117, Bank 3*/return XST_SUCCESS; }/* 功能设置GPIO的值* 参数1GpioPtr-GPIO对象指针* 参数2Gpio_Pin-GPIO对应pin* 参数3Gpio_value-GPIO输出值*/ int set_gpio_value(XGpioPs * Gpio_Ptr, u32 Gpio_Pin, GPIO_VALUE Gpio_value){u32 Data;XGpioPs_WritePin(Gpio_Ptr, Gpio_Pin, Gpio_value);Data XGpioPs_ReadPin(Gpio_Ptr, Gpio_Pin);if (Data ! Gpio_value) {return XST_FAILURE;}return XST_SUCCESS; }/* 功能读取GPIO的值* 参数1GpioPtr-GPIO对象指针* 参数2Gpio_Pin-GPIO对应pin* 参数3Gpio_value-GPIO读取值*/ int read_gpio_value(XGpioPs * Gpio_Ptr, u32 Gpio_Pin, GPIO_VALUE *Gpio_value){*Gpio_value (GPIO_VALUE)XGpioPs_ReadPin(Gpio_Ptr, Gpio_Pin);return XST_SUCCESS; }3.main函数进行调用 1初始化GPIO相关状态进行输入输出、使能等配置 2每隔1秒进行LED等的亮灭操作查看GPIO输出操作是否好用 int main() {//MIO EMIO测试 #ifdef GPIO_Test//初始化GPIO包括输入输出模式、初始值、是否使能等gpio_polled_init(MIOLed0, LED0_GPIO_PS_MIO, GPIO_DIR_OUTPUT, GPIO_VALUE_OFF, GPIO_ENABLE);gpio_polled_init(MIOLed1, LED1_GPIO_PS_MIO, GPIO_DIR_OUTPUT, GPIO_VALUE_OFF, GPIO_ENABLE);gpio_polled_init(EMIOLed0, LED0_GPIO_PL_EMIO, GPIO_DIR_OUTPUT, GPIO_VALUE_OFF, GPIO_ENABLE);gpio_polled_init(EMIOLed1, LED1_GPIO_PL_EMIO, GPIO_DIR_OUTPUT, GPIO_VALUE_OFF, GPIO_ENABLE); #endifwhile(1){//************************************GPIO-Test*********************************// #ifdef GPIO_Testset_gpio_value(EMIOLed0, LED0_GPIO_PL_EMIO, GPIO_VALUE_ON);sleep(1);set_gpio_value(EMIOLed0, LED0_GPIO_PL_EMIO, GPIO_VALUE_OFF);set_gpio_value(EMIOLed1, LED1_GPIO_PL_EMIO, GPIO_VALUE_ON);sleep(1);set_gpio_value(EMIOLed1, LED1_GPIO_PL_EMIO, GPIO_VALUE_OFF);set_gpio_value(MIOLed0, LED0_GPIO_PS_MIO, GPIO_VALUE_ON);sleep(1);set_gpio_value(MIOLed0, LED0_GPIO_PS_MIO, GPIO_VALUE_OFF);set_gpio_value(MIOLed1, LED1_GPIO_PS_MIO, GPIO_VALUE_ON);sleep(1);set_gpio_value(MIOLed1, LED1_GPIO_PS_MIO, GPIO_VALUE_OFF);#endif}return 0; } 创作不易希望大家点赞、收藏、关注哦ヾ(o◕∀◕)
http://www.hyszgw.com/news/94569.html

相关文章:

  • 门户网站建设思路云商城的网站建设
  • 做网站导航wordpress模板打包
  • 辽宁品牌建设促进会 网站wordpress建站 东莞
  • 30人的网站建设公司年利润是多少怎么找人做网站
  • 榆林建站网站建设WordPress文章相似推荐
  • 专注服务于站长和网站的信息平台.石家庄北国商城
  • 深圳模板网站建设企业建站 源码
  • 小灯具网站建设方案网页框架模板
  • 长春网站seo顾问
  • 做it的在哪个网站找工作济宁网络
  • 做塑胶网站需要什么材料wordpress表白模板
  • 励志网站织梦源码新上线网站如何做搜索引擎
  • 长沙网站备案凡客诚品购物
  • 在哪家网站可以买做服装的模具公明做网站多少钱
  • 免费网站推广软件app制作开发费用
  • 国外网站页头设计图片wordpress apache 伪静态
  • 课程网站开发运行环境新乐网站建设
  • 如何在国外网站上做外贸wordpress_主题教程
  • 自己用电脑做网站服务器百度关键词首页排名
  • zencart外贸网站建设上海最近新闻事件
  • seo网站模版网络销售如何推广
  • 宜丰做网站的什么是营销网站建设
  • 茂名专业做网站服务品牌策划方案
  • 常州 做网站怡美工业设计公司
  • 江门企业网站建设公司微信app制作
  • 网站建设属于什么税目2014年网站设计趋势
  • 网站建设站建设好吗wordpress 3.9 wp_editor not work
  • 景区网站建设的好处炫酷网站有哪些
  • 自己做游戏网站网站地图什么时候提交好
  • 邢台营销型网站建设jae-wordpress