查看: 3823|回复: 1

[其他] fec_mii_read() & fec_mii_write()

[复制链接]

该用户从未签到

6

主题

45

帖子

0

新手上路

Rank: 1

积分
105
最后登录
1970-1-1
发表于 2009-11-10 20:32:34 | 显示全部楼层 |阅读模式
最近用52259弄以太网通信
板子是M52259EVB
上面的EPHY是DP83640
用到fec_mii_read(int phy_addr,int reg_addr,uint16* data);这个函数,但得到的数据始终是全1
 
52259的引脚配置是对的,系统主频80M,MSCR里的MII_SPEED设的是16产生2.5M的频率,调小点我也试过了。
52259的手册上讲MMFR这个寄存器当数据传输完成后,里面的值恢复到之前写进去的,现在的情况是刚写进去马上读出来的话是正确的值,但等到EIR里的MII位置1(也就是读、写完成了)后再读的话就为全1了,fec_mii_read()和fec_mii_write()都是这情况。
实在是不知道什么原因,请大家指点下!
我知道答案 目前已有0人回答
回复

使用道具 举报

该用户从未签到

6

主题

45

帖子

0

新手上路

Rank: 1

积分
105
最后登录
1970-1-1
 楼主| 发表于 2009-11-11 11:33:27 | 显示全部楼层

回复:fec_mii_read() & fec_mii_write()

问题已解决。
还是严重的低级错误。
在设置引脚的时候用的 
MCF_GPIO_PNQPAR|=MCF_GPIO_PNQPAR_IRQ3_FEC_MDIO
                                 |MCF_GPIO_PNQPAR_IRQ5_FEC_MDC;
又把手册看了遍,发现PNQPAR复位时的值不是全0.
改成
MCF_GPIO_PNQPAR=MCF_GPIO_PNQPAR_IRQ3_FEC_MDIO
                                |MCF_GPIO_PNQPAR_IRQ5_FEC_MDC;
马上就好了。
宝贵的时间啊,就浪费在这里了!
您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-7-21 04:58 , Processed in 0.083918 second(s), 22 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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