Verilog串口通信问题

以下程序的功能为每次有接收中断产生后,将接收到的recdata存进rc_buf中,然后将rc_buf[1]通过串口发送给PC.我定义rc_buf是reg[7:0]rc_b... 以下程序的功能为每次有接收中断产生后,将接收到的recdata存进rc_buf中,然后将rc_buf[1]通过串口发送给PC. 我定义rc_buf是reg[7:0]rc_buf[2:0]; 现在的情况是我发送 11 22 33这个数组,它发送回给我的是11,请问下我这哪里有问题?
always@(posedge RI) //RI是串口接收中断标志位
begin
if(rst==0)begin
i=0;
end
else begin
rc_buf[i]<=recdata; //rcdata 上位机发送来的数据
i=i+1;
if(i==3) i=0;
end
senddata <= rc_buf[1]; //senddata 发送给上位机的数据
end
而且rc_buf[0]是33
展开
 我来答
lgp510775906
2014-12-01 · TA获得超过116个赞
知道答主
回答量:49
采纳率:100%
帮助的人:53.6万
展开全部
always@(*) //RI是串口接收中断标志位
begin
if(rst==0)
i=0; // i 定义成integer类型
else if(i==3)
i=0;
else if(RI) //rcdata 上位机发送来的数据
i=i+1;
end
always@(*)
begin
if(!rst)
rc_buf[i]=8'b0;
else if(RI)
rc_buf[i]=recdata;
end
assign senddata = rc_buf[1]; //senddata 发送给上位机的数据 定义成wire类型
可以试试,仅个人看法哈
lingxinskype
2014-12-01 · TA获得超过472个赞
知道小有建树答主
回答量:423
采纳率:0%
帮助的人:226万
展开全部
你的两个数据之间要有间隔,不能连续的发数据
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
查晓筠0i5
2014-11-30 · TA获得超过2752个赞
知道大有可为答主
回答量:2.1万
采纳率:1%
帮助的人:4980万
展开全部
需要帮你写吗
追问
好啊!要是你能帮我就最好了。谢谢啊
追答
丘上说我
我id
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式