芯路恒电子技术论坛

 找回密码
 立即注册
热搜: 合集
查看: 5860|回复: 1

软件扯拐?不知道你们遇到过没

[复制链接]

该用户从未签到

3

主题

9

帖子

65

积分

初级会员

Rank: 3Rank: 3

积分
65
发表于 2020-2-25 20:12:00 | 显示全部楼层 |阅读模式
在做用串口通过IIC协议去读写EEPROM的实验时,遇到了非常奇怪的事情。部分程序如下

// 串口发送读数据命令和任务
                task send_uart_data_rd;
                        begin
                                                //读数据指令
                                                rdata_cmd={{2'b00,WdAr_UNM,1'b0,DevAddr},8'hf1,addr[15:8],addr[7:0],data_num};
                                                //发送读数据指令
                                                        repeat(5)begin
                                                                tx_en=1;
                                                                tx_data=rdata_cmd[39:32];
                                                                #(`clk_period)
                                                                tx_en=0;
                                                                @(posedge tx_done)
                                                                #100;
                                                        rdata_cmd={rdata_cmd[31:0],8'h00};
                        endtask

可以看到tx_data首先是等于rdata_cmd的高8位,即rdata_cmd[39:32]。但是在仿真过程中tx_data首先等于f1,即rdata_cmd[31:24]。然后依次等于后面的数值。导致接下来的数据读写出错,求高手指教。

这是EEPROM的仿真文件中的读数据指令,

这是EEPROM的仿真文件中的读数据指令,

这是仿真文件,标记处应该为读命令的高8位

这是仿真文件,标记处应该为读命令的高8位
回复

使用道具 举报

该用户从未签到

3

主题

9

帖子

65

积分

初级会员

Rank: 3Rank: 3

积分
65
 楼主| 发表于 2020-2-25 20:23:18 | 显示全部楼层
已解决。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|芯路恒电子技术论坛 |鄂ICP备2021003648号

GMT+8, 2024-4-19 14:33 , Processed in 0.112861 second(s), 34 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc. Template By 【未来科技】【 www.wekei.cn 】

快速回复 返回顶部 返回列表