第7篇:Linux程序访问控制FPGA端LEDR<五>

**Q:**如何设计.c程序代码实现FPGA端外设LEDR流水灯?

**A:**在DE1-SoC开发板上实现的流水灯效果:一次只点亮一个红色LED,初始状态为向左移动直至点亮LEDR9,然后改变移动的方向为向右直至点亮LEDR0,以此循环往复,同样可通过调用Linux库函数 nanosleep() 使LEDR以适当的速度移动。

根据当前LEDR的状态以及流水灯的移动方向来控制下一状态:如果当前的移动方向为右移,则判断LEDR0是否点亮,如果点亮则改变移动方向为向左,否则继续向右移点亮右侧的LEDR;如果当前的移动方向为向左移,则判断LEDR9是否点亮,如果点亮则改变移动方向为向右,否则继续向左移点亮左侧的LEDR。

在DE1-SoC-UP Linux系统中编译并运行程序后,可观察到DE1-SoC开发板最右边的LEDR0点亮,然后向左每隔0.5秒移动一次依次点亮LEDR1、LEDR2直到LEDR9后,改变流水灯移动的方向为向右,然后向右每隔0.5秒移动一次依次点LEDR8、LEDR7直到LEDR0,循环往复。

相关推荐
ZPC82105 天前
docker 镜像备份
人工智能·算法·fpga开发·机器人
ZPC82105 天前
docker 使用GUI ROS2
人工智能·算法·fpga开发·机器人
tiantianuser5 天前
RDMA设计53:构建RoCE v2 高速数据传输系统板级测试平台2
fpga开发·rdma·高速传输·cmac·roce v2
博览鸿蒙5 天前
FPGA 和 IC,哪个前景更好?怎么选?
fpga开发
FPGA_小田老师5 天前
xilinx原语:ISERDESE2原语详解(串并转换器)
fpga开发·iserdese2·原语·串并转换
tiantianuser5 天前
RDMA设计50: 如何验证网络嗅探功能?
网络·fpga开发·rdma·高速传输·cmac·roce v2
Lzy金壳bing5 天前
基于Vivado平台对Xilinx-7K325t FPGA芯片进行程序在线更新升级
fpga开发·vivado·xilinx
unicrom_深圳市由你创科技5 天前
医疗设备专用图像处理板卡定制
图像处理·人工智能·fpga开发
tiantianuser5 天前
RDMA设计52:构建RoCE v2 高速数据传输系统板级测试平台
fpga开发·rdma·高速传输·cmac·roce v2
php556 天前
嵌入式串口通信中的双缓冲机制:高效处理高速数据流的实战解析
串口通信·嵌入式系统·数据帧·双缓冲机制