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

相关推荐
灵风_Brend1 小时前
秋招准备——2.跨时钟相关
fpga开发
希言自然也4 小时前
FPGA生成随机数的方法
fpga开发
1560820721914 小时前
QSFP+、QSFP28、QSFP-DD接口分别实现40G、100G、200G/400G以太网接口
fpga开发·信号处理
&Cheems20 小时前
ZYNQ笔记(十九):VDMA VGA 输出分辨率可调
笔记·fpga开发
可编程芯片开发1 天前
基于FPGA的PID控制器verilog实现,包含simulink对比模型
fpga开发·verilog·simulink·pid控制器
ThreeYear_s1 天前
基于FPGA控制ADC0832双通道采样+电压电流采样+LCD屏幕显示
fpga开发
ktd0072 天前
`timescale 1ns/1ps的意义
fpga开发
我是苹果,不是香蕉2 天前
双端口ram与真双端口ram的区别
fpga开发
尤老师FPGA2 天前
LVDS系列11:Xilinx Ultrascale系可编程输入延迟(一)
fpga开发
Terasic友晶科技2 天前
第20篇:Linux设备驱动程序入门<七>
fpga开发·定时器·de1-soc开发板·linux设备驱动程序