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

相关推荐
江苏学蠡信息科技有限公司4 小时前
STM32中硬件I2C的时钟占空比
stm32·单片机·fpga开发
OliverH-yishuihan4 小时前
FPGA 入门 3 个月学习计划表
学习·fpga开发
FPGA狂飙7 小时前
传统FPGA开发流程的9大步骤是哪些?
fpga开发·verilog·fpga·vivado·xilinx
我爱C编程8 小时前
【硬件片内测试】基于FPGA的完整DQPSK链路测试,含频偏锁定,帧同步,定时点,Viterbi译码,信道,误码统计
fpga开发·帧同步·viterbi译码·dqpsk·频偏锁定·定时点
szxinmai主板定制专家10 小时前
【NI测试方案】基于ARM+FPGA的整车仿真与电池标定
arm开发·人工智能·yolo·fpga开发
爱吃汽的小橘1 天前
基于ads1256的ADC控制实现
fpga开发
易享电子2 天前
基于单片机车窗环境监测控制系统Proteus仿真(含全部资料)
单片机·嵌入式硬件·fpga开发·51单片机·proteus
cycf2 天前
系统同步接口输入延迟(五)
fpga开发
cmc10282 天前
131.如何区分FPGA芯片型号是-2l还是-2方法
fpga开发
sz66cm2 天前
FPGA基础 -- 无毛刺时钟切换(glitch-free clock switching)
fpga开发