目标 通过串口接收数据,对数据分析,控制8个LED灯按照设定时间闪烁。 8个LED灯可以任意设计,是否闪烁。闪烁时间按ms计算,通过串口发送,可设置1~4,294,967,296ms,也就是4字节数据协议自拟,有数据报文头和尾 实现 串口接
通过串口接收数据,对数据分析,控制8个LED灯按照设定时间闪烁。
串口接收8字节数据,2字节头+4字节time+1字节LED+1字节尾
数据协议定义:
7 | 6 | 5 4 3 2 | 1 | 0 |
---|---|---|---|---|
0x55 | 0xA5 | time[31:0] | ctrl[7:0] | 0xF0 |
分析到一帧完整数据就可是提取并设置LED闪烁样式。
模块划分:
串口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) );
来源地址:https://blog.csdn.net/qq_30255657/article/details/132563322
--结束END--
本文标题: 串口接收数据-控制LED灯
本文链接: https://lsjlt.com/news/382556.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-03-01
2024-03-01
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0