1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
设置的16位数据是01000010 01000010,2个8位的10进制都是66,对应ascii是B,用串口调试工具显示接受了2个字符,但是只显示一个B
然后又用labwindows试验,收到的数据显示是66和-2,实在不知道哪里有问题 我把16位数据一起发送了,是按照uart协议发的,大佬们能看下吗 always@(posedge clk or negedge rst) begin if(!rst) begin num<=0; tx_r<=1'b1; end else if(tx_en) begin if(clk_bps) begin num<=num+1; case(num) 4'd0:tx_r<=1'b0; 4'd1:tx_r<=tx_data[0]; 4'd2:tx_r<=tx_data[1]; 4'd3:tx_r<=tx_data[2]; 4'd4:tx_r<=tx_data[3]; 4'd5:tx_r<=tx_data[4]; 4'd6:tx_r<=tx_data[5]; 4'd7:tx_r<=tx_data[6]; 4'd8:tx_r<=tx_data[7]; 4'd9:tx_r<=1'b1; 4'd14:tx_r<=1'b0; 4'd15:tx_r<=tx_data[8]; 4'd16:tx_r<=tx_data[9]; 4'd17:tx_r<=tx_data[10]; 4'd18:tx_r<=tx_data[11]; 4'd19:tx_r<=tx_data[12]; 4'd20:tx_r<=tx_data[13]; 4'd21:tx_r<=tx_data[14]; 4'd22:tx_r<=tx_data[15]; 4'd23:tx_r<=1'b1; default:tx_r<=1'b1; endcase end else if(num==24) num<=0; end end |
|
相关推荐
5个回答
|
|
uart的协议数据位不是8位吗?
|
|
|
|
4'd16到4‘d23这种表达方式是错的。4表示位宽,4bit数最大是15
|
|
|
|
接收方要设置好接收的速度,格式,校验位
|
|
|
|
串口调试的uart读取返回数据默认应该只读八位吧,发过去16个实际读的只有8个吧,你可以写两个串口让两块板子通信一下试试
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1367 浏览 1 评论
助力AIoT应用:在米尔FPGA开发板上实现Tiny YOLO V4
1046 浏览 0 评论
2442 浏览 1 评论
2146 浏览 0 评论
矩阵4x4个按键,如何把识别结果按编号01-16(十进制)显示在两个七段数码管上?
2408 浏览 0 评论
1895 浏览 50 评论
6018 浏览 113 评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 21:04 , Processed in 0.761851 second(s), Total 91, Slave 71 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号