返回顶部
首页 > 资讯 > 操作系统 >串口接收数据-控制LED灯
  • 728
分享到

串口接收数据-控制LED灯

fpga开发单片机嵌入式硬件 2023-08-30 10:08:33 728人浏览 泡泡鱼
摘要

目标 通过串口接收数据,对数据分析,控制8个LED灯按照设定时间闪烁。 8个LED灯可以任意设计,是否闪烁。闪烁时间按ms计算,通过串口发送,可设置1~4,294,967,296ms,也就是4字节数据协议自拟,有数据报文头和尾 实现 串口接

目标

通过串口接收数据,对数据分析,控制8个LED灯按照设定时间闪烁。

  1. 8个LED灯可以任意设计,是否闪烁。
  2. 闪烁时间按ms计算,通过串口发送,可设置1~4,294,967,296ms,也就是4字节数据
  3. 协议自拟,有数据报文头和尾

实现

串口接收8字节数据,2字节头+4字节time+1字节LED+1字节尾
数据协议定义:

765 4 3 210
0x550xA5time[31:0]ctrl[7:0]0xF0

分析到一帧完整数据就可是提取并设置LED闪烁样式。
模块划分:

  1. 串口接收
  2. 串口数据分析
  3. LED控制
  4. 顶层连接

硬件

串口GPio

在这里插入图片描述
在这里插入图片描述
LEDGPIO:
在这里插入图片描述

软件

uart_rx_ctrl_led(    Clk,    Reset_n,    Led,    uart_rx        );    input Clk;    input Reset_n;    output wire[7:0]Led;    input uart_rx;        wire [7:0] ctrl;    wire [31:0] time_set;    counter_led counter_led(    .Clk(Clk),    .Reset_n(Reset_n),    .Ctrl_data(ctrl),    .Time(time_set),    .led(Led)    );      wire [7:0]rx_data;    wire rx_done;    uart_rx uart_rx_in(    .Clk(Clk),    .Reset_n(Reset_n),    .Baund_set(4),    .uart_Rx(uart_rx),    .Data(rx_data),    .Rx_Done(rx_done)    );    uart_cmd uart_cmd(        .Clk(Clk),        .Reset_n(Reset_n),        .rx_data(rx_data),        .rx_done(rx_done),        .ctrl(ctrl),        .time_set(time_set)        );

注意

  1. 数据分析采用——检测缓冲区,不断去检测该缓冲区首尾,是否符合要求。
  2. 在进行时间赋值时,采用 if(tims_ms == time_set)进行清空,不好的地方就是time_ms>time_set时不会进行清空,直到计数溢出重新计到设定值,所以这地方要改成if( time_ms >= time_set )时对time_ms清空。
  3. 对于判断中有数字与变量的判断要养成把数字写在前的习惯,能避免if( time = 10)这种错误,if(10 = time)就会提示编译错误,而第一种会赋值然后条件为真直接运行里面的程序。

来源地址:https://blog.csdn.net/qq_30255657/article/details/132563322

--结束END--

本文标题: 串口接收数据-控制LED灯

本文链接: https://lsjlt.com/news/382556.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 串口接收数据-控制LED灯
    目标 通过串口接收数据,对数据分析,控制8个LED灯按照设定时间闪烁。 8个LED灯可以任意设计,是否闪烁。闪烁时间按ms计算,通过串口发送,可设置1~4,294,967,296ms,也就是4字节数据协议自拟,有数据报文头和尾 实现 串口接...
    99+
    2023-08-30
    fpga开发 单片机 嵌入式硬件
  • linux如何查看串口接收数据
    可以使用minicom命令来查看Linux系统上的串口接收数据。首先,确保已经安装了minicom。如果没有安装,可以使用以下命令安...
    99+
    2023-09-16
    linux
  • python串口收发数据
    一、利用虚拟串口工具,将com1和com3串口连接起来 二、运行程序 import serial from time import sleep def recv(serial): while True: ...
    99+
    2023-01-31
    串口 收发 数据
  • c#串口怎么判断数据接收完成
    在 c# 中判断串口数据接收完成的方法有:datareceived 事件触发时,bytestoread 为零;serialport.read() 方法返回的字节数组长度为零;readbu...
    99+
    2024-05-12
    c# 数据丢失
  • 如何在java控制台中接收数据
    如何在java控制台中实现接收数据?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。java从控制台接收一个数字的实例详解功能:从控制台接收一个数实现代码:import&nbs...
    99+
    2023-05-31
    java ava 台中
  • qt串口接收数据后怎么进行解析
    要对Qt串口接收到的数据进行解析,您可以按照以下步骤进行操作:1. 在Qt中打开串口并设置相应的参数,包括波特率、数据位、校验位、停...
    99+
    2023-10-18
    qt
  • 【Python】简单的串口收发数据
    实现效果: Python端运行的时候打开COM3,然后准备从键盘获取数据,并发送,同时接收串口调试助手COM1发送过来的数据 Python端: 串口调试助手: 串口调试助手使用COM1,能显示Python端发过来的数据,当点击...
    99+
    2023-01-31
    串口 收发 简单
  • qt串口接收大量数据导致卡顿怎么解决
    如果Qt串口接收大量数据导致卡顿,可以尝试以下几种解决办法:1. 优化串口接收代码:确保串口接收代码是高效的,可以使用Qt提供的异步...
    99+
    2023-09-22
    qt
  • C#串口通讯收发数据怎么配置
    在C#中配置串口通讯主要涉及以下几个步骤: 引入System.IO.Ports命名空间:在C#程序中使用串口通讯需要引入Syst...
    99+
    2024-04-02
  • java怎么监听端口接收数据
    在Java中,你可以使用ServerSocket和Socket类来监听端口和接收数据。首先,你需要创建一个ServerSocket对...
    99+
    2023-10-19
    java
  • python怎么监听端口接收的数据
    在Python中,可以使用socket模块来监听端口并接收数据。以下是一个示例代码,演示了如何使用Python监听端口,并接收从客户...
    99+
    2023-10-11
    python
  • c语言怎么接收字符串的数据
    在 c 中接收字符串数据的两种主要方法是:使用 scanf() 函数从格式化输入中读取字符串。使用 fgets() 函数逐行从流中读取字符串,直到遇到换行符或文件结束。 如何在 C 语...
    99+
    2024-05-14
    c语言
  • 制作自己的数据库接口
       一直看到网上有q绑查询什么的,于是自己想建一个数据库测试接口。在网上搜索相关教程,要么就是收费的,要么就是一些做项目接口的,工程量特别大。简单的有一些图床的接口,但是就是没有我想要的教程,于是自己想办法琢磨,最终制作出来了一个数据库接...
    99+
    2023-09-05
    数据库 服务器 mysql 阿里云 php
  • Golang函数的接口和访问控制的详解
    Golang作为一门快速、高效的编程语言,广受开发者的青睐。在Golang中,函数是非常重要的组成部分,函数可以是公共的,也可以是私有的。在本文中,我们将会深入探讨Golang函数的接口和访问控制,以便更好地理解Golang的开发模式和最佳...
    99+
    2023-05-16
    Golang 函数接口 访问控制
  • c# 使用线程对串口serialPort进行收发数据(四种)
    本文主要介绍了c# 使用线程对串口serialPort进行收发数据,分享给大家,具体如下: 一共写了四种方法,窗体界面都是一样的: 方法一: using System; using...
    99+
    2024-04-02
  • java如何获取监控数据接口信息
    在Java中,可以使用Java Management Extensions (JMX) API来获取监控数据接口信息。以下是获取监控...
    99+
    2023-09-15
    java
  • Golang函数的接口和访问控制源码分析
    本文小编为大家详细介绍“Golang函数的接口和访问控制源码分析”,内容详细,步骤清晰,细节处理妥当,希望这篇“Golang函数的接口和访问控制源码分析”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、 接口在G...
    99+
    2023-07-06
  • 协议栈——收发数据(拼接网络包,自动重发,滑动窗口机制)
    目录 协议栈何时发送数据~ 数据长度 IP模块的分片功能 发送频率 网络包序号~利用syn拼接网络包ack确认网络包完整 确定偏移量 服务器ack确定收到数据总长度 序号作用 双端告知各自序号 协议栈自动重发机制 大致流程 ack等待时间如...
    99+
    2023-10-12
    网络
  • DEDECMS JSON数据生成 DEDECMS JSON接口制作
    json数据格式可以方便不同站点之间进行数据调用引用,当然我们的DEDEcms也可以实现全站数据生成JSON供其他站点调用,代码很简单,主要用到include/json.class.php。织梦本身是自带json标签的,调用方法:{dede...
    99+
    2022-06-12
    DEDECMS JSON 接口
  • 怎么使用java制作假数据接口
    小编给大家分享一下怎么使用java制作假数据接口,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!使用java制作假数据接口前端页面想得到abc的接口其中包括传输过来的数据为name:lixiang、sex:男、111:1;&...
    99+
    2023-06-22
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作