查看: 978|回复: 0

[评测分享] 【超越者Spartan-6 FPGA开发板】 + MicroBlaze驱动LED灯

[复制链接]
  • TA的每日心情
    开心
    2024-12-25 08:05
  • 签到天数: 1078 天

    连续签到: 1 天

    [LV.10]以坛为家III

    发表于 2021-6-11 15:47:13 | 显示全部楼层 |阅读模式
    分享到:
        在上篇https://www.cirmall.com/bbs/thread-206109-1-1.html基础上,复制项目工程文件,创建驱动LED的程序。


        一、复制工程文件


        1.1、打开之前的项目,选择文件-> 复制项目,保存要创建项目的位置。
        001.png


        1.2、打开复制的项目工程
        002.png

        1.3、打开的工程目录
        003.png


        1.4、将文件C:\fpga\microblaze_prj\prj\remote_sources\_下的EDK文件复制到创建的工程目录下,我的文件位置C:\fpga\microblaze_prj
        004.png


        1.5、添加文件
        005-2.png
        005.png
        006.png
        007.png
        008.png
        009.png
       
        1.6、添加文件后,编译下工程
        010.png
        没有错误,复制的工程项目是成功的,下面配置硬件。


        二、硬件设计


        2.1、添加开发板上的LED对应的硬件和端口。
        011.png
        选择LED端口数量,这里选择4个。
        012.png
        1.2、添加到硬件系统的IP核
        013.png
       
        1.3、可以在端口选项中从命名端口名称
        014.png


       1.4、添加管脚约束
        015.png


       1.5、生成硬件网络文件
        016.png


       1.6、生成顶层文件
        017.png


       1.7、生成硬件Bit流文件
        018.png
       硬件设计完成


       三、软件设计


       3.1、进入SDK软件开发平台
        100.png
       
       3.2、新建项目
        101.png
        102.png
       创建的软件项目工程
        103.png
       
       3.3、驱动LED灯源程序main.c
       
    1. #include <stdio.h>
    2. #include "platform.h"
    3. #include "xparameters.h"
    4. #include "xil_printf.h"
    5. #include "xgpio.h"

    6. #define LED_ID         XPAR_GPIO_0_DEVICE_ID
    7. #define LED_CHANNEL 1

    8. void print(char *str);

    9. XGpio Gpio; //GPIO 实例

    10. int main()
    11. {
    12.         int i=0;
    13.         u32 Delay;
    14.         int Status;
    15.     init_platform();
    16.     xil_printf("GPIO LED TEST\n\r");
    17.     XGpio_Initialize(&Gpio, LED_ID);
    18.         XGpio_SetDataDirection(&Gpio, LED_CHANNEL, 0);
    19.         while (1)
    20.         {

    21.                 XGpio_DiscreteWrite(&Gpio, LED_CHANNEL, 0x01 << i);
    22.                 if(i == 3)
    23.                 {
    24.                         i = 0;
    25.                 }
    26.                 else
    27.                 {
    28.                         i = i + 1;
    29.                 }
    30.                 for (Delay = 0; Delay < 5000000; Delay++);
    31.         }
    32.     return 0;
    33. }

    复制代码

        3.4、编译工程
        104.png


        3.5、程序下载
        105.png


        四、执行结果


        4.1、串口打印信息
        106.png

        4.2、点灯视频
        200.gif
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    手机版|小黑屋|与非网

    GMT+8, 2025-1-12 06:55 , Processed in 0.113877 second(s), 17 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.