<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      mpsoc嵌入式vitis開發—AXI GPIO中斷實驗

      前言

      vitis版本:Vitis 2023.2
      由于Vitis版本更新,很多API發生變化,學習原子哥的教程時很多代碼對于不上,所以自己重新寫一遍,并記錄下自己踩過的坑,方便以后查看。這里直接給出代碼,其他的流程參考原子哥的《2_DFZU2EG_4EV MPSoC之嵌入式Vitis開發指南_V1.0.pdf》

      代碼

      #include "sleep.h"
      #include "xgpio.h"
      #include "xil_exception.h"
      #include "xinterrupt_wrap.h"
      #include "xparameters.h"
      
      /************************** Constant Definitions *****************************/
      #define XGPIO_AXI_BASEADDRESS XPAR_XGPIO_0_BASEADDR
      
      #define GPIO_CHANNEL1 1
      #define GPIO_CHANNEL1_MASK XGPIO_IR_CH1_MASK
      
      #define INTR_DELAY 0x00FFFFFF
      
      /************************** Function Prototypes ******************************/
      void GpioHandler(void *CallBackRef);
      
      int GpioIntrExample(XGpio *InstancePtr, UINTPTR BaseAddress, u16 IntrMask,
                          u32 *DataRead);
      /************************** Variable Definitions *****************************/
      
      XGpio Gpio; /* The Instance of the GPIO Driver */
      
      static volatile u32 IntrFlag; /* Interrupt Handler Flag */
      
      int main(void) {
        int Status;
        u32 DataRead;
        print(" Press button to Generate Interrupt\r\n");
      
        Status =
            GpioIntrExample(&Gpio, XGPIO_AXI_BASEADDRESS, GPIO_CHANNEL1, &DataRead);
      
        if (Status == 0) {
          if (DataRead == 0) {
            print("No button pressed. \r\n");
          } else {
            print("Successfully ran Gpio Interrupt Tapp Example\r\n");
          }
        } else {
          print("Gpio Interrupt Tapp Example Failed.\r\n");
          return XST_FAILURE;
        }
      
        return XST_SUCCESS;
      }
      
      int GpioIntrExample(XGpio *InstancePtr, UINTPTR BaseAddress, u16 IntrMask,
                          u32 *DataRead) {
        int Status;
        u32 delay;
      
        XGpio_Config *ConfigPtr;
        ConfigPtr = XGpio_LookupConfig(BaseAddress);
        /* Initialize the GPIO driver. If an error occurs then exit */
        Status = XGpio_Initialize(InstancePtr, BaseAddress);
        if (Status != XST_SUCCESS) {
          return XST_FAILURE;
        }
        XGpio_SetDataDirection(InstancePtr, IntrMask,1); //設置 PL AXI GPIO 通道 1 為輸入
      
        XGpio_InterruptEnable(InstancePtr, GPIO_CHANNEL1_MASK); //使能通道 1 中斷
        XGpio_InterruptGlobalEnable(InstancePtr); //使能 AXI GPIO 全局中斷
      
        Status =
            XSetupInterruptSystem(InstancePtr, &GpioHandler, ConfigPtr->IntrId,
                                  ConfigPtr->IntrParent, XINTERRUPT_DEFAULT_PRIORITY);
        if (Status != XST_SUCCESS) {
          return XST_FAILURE;
        }
      
        IntrFlag = 0;
        delay = 0;
      
        while (!IntrFlag && (delay < INTR_DELAY)) {
          usleep(1);
          delay++;
        }
      
        XDisconnectInterruptCntrl(ConfigPtr->IntrId, ConfigPtr->IntrParent);
        *DataRead = IntrFlag;
      
        return Status;
      }
      
      void GpioHandler(void *CallbackRef) {
        XGpio *GpioPtr = (XGpio *)CallbackRef;
        IntrFlag = 1;
        /* Clear the Interrupt */
        XGpio_InterruptClear(GpioPtr, GPIO_CHANNEL1_MASK);
      }
      
      posted @ 2024-02-21 13:53  USTHzhanglu  閱讀(487)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 日本少妇被黑人xxxxx| 亚洲精品一区二区18禁| 午夜国产精品福利一二| 少妇久久久久久久久久| 色老头亚洲成人免费影院| 久久国产精品波多野结衣| 久久精品蜜芽亚洲国产AV| 日本公妇乱偷中文字幕| 蜜臀av一区二区国产精品| 亚洲欧洲一区二区天堂久久| 国产精品无码专区| 国产激情艳情在线看视频| 亚洲高潮喷水无码AV电影| 少妇无套内谢免费视频| 红桃视频成人传媒| 噜妇插内射精品| 亚洲人成网站77777在线观看| 亚洲精品日韩在线观看| 午夜福利国产精品视频| 久久精品国产亚洲av亚| 西西人体大胆444WWW| 成年入口无限观看免费完整大片| 亚洲高清有码中文字| 国产精品剧情亚洲二区| 蜜桃av无码免费看永久| 亚洲v欧美v日韩v国产v| 国产成人免费永久在线平台| 成人无码h真人在线网站| 亚洲成色精品一二三区| 日韩无矿砖一线二线卡乱| 又粗又硬又黄a级毛片| 亚洲a∨国产av综合av下载| 老熟妇欲乱一区二区三区| 重口SM一区二区三区视频 | 久热在线中文字幕色999舞| 亚洲中文字幕无码爆乳app| 亚洲精品免费一二三区| 久久99国产乱子伦精品免费| 国产av一区二区三区无码野战| 日本熟妇色xxxxx| 亚洲国产成人精品无码一区二区|