完善资料让更多小伙伴认识你,还能领取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个吧,你可以写两个串口让两块板子通信一下试试
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
基本FPGA或者树莓派或者其它微处理器(尽量压缩成本且完成项目)DFB激光器稳频
1397 浏览 1 评论
2498 浏览 1 评论
助力AIoT应用:在米尔FPGA开发板上实现Tiny YOLO V4
1198 浏览 0 评论
3645 浏览 1 评论
3259 浏览 0 评论
2320 浏览 58 评论
6165 浏览 113 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-2-1 04:46 , Processed in 0.724031 second(s), Total 93, Slave 73 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号