第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,循环往复。

相关推荐
Js_cold1 天前
Verilog函数function
开发语言·fpga开发·verilog
Js_cold1 天前
Verilog任务task
开发语言·fpga开发·verilog
brave and determined1 天前
可编程逻辑器件学习(day3):FPGA设计方法、开发流程与基于FPGA的SOC设计详解
嵌入式硬件·fpga开发·soc·仿真·电路·时序·可编程逻辑器件
Lee_yayayayaya2 天前
锁相环技术及FPGA实现
fpga开发
Js_cold2 天前
Verilog局部参数localparam
开发语言·fpga开发·verilog
promising-w2 天前
【FPGA】使用移位实现LED流水灯
fpga开发
爱吃汽的小橘2 天前
ZYNQ介绍
fpga开发
ThreeYear_s2 天前
电力电子技术学习路径与FPGA/DSP技术结合方向(gemini生成)
学习·fpga开发
奋斗的牛马2 天前
FPGA—ZYNQ学习spi(六)
单片机·嵌入式硬件·学习·fpga开发·信息与通信
GateWorld3 天前
FPGA核心约束类型与语法
fpga开发