裸奔程序和uCOS读取DM9000 ID的方法

裸奔程序和uCOS读取DM9000 ID的方法

裸奔程序和uCOS读取DM9000 ID的方法

在程序中调用下面这段代码可以读到DM9000的ID号:
#define        DM9000_BASE                0x20000300
#define        DM9000_DATA_OFFSET        4
static U8 dm9000_ior(int reg)
{
        *(volatile U8 *)DM9000_BASE = reg;
        return *(volatile U8 *)(DM9000_BASE+DM9000_DATA_OFFSET);
}
static void rd_dm9000_id(void)
{
        U16 id;
        id = dm9000_ior(0x28) | (dm9000_ior(0x29)<<8);
        printf(“read dm9000 vid = 0x%x\n”, id);
        id = dm9000_ior(0x2a) | (dm9000_ior(0x2b)<<8);
        printf(“read dm9000 pid = 0x%x\n”, id);
        id = dm9000_ior(0x8) | (dm9000_ior(0x9)<<8);
        printf(“read dm9000 reg(0x09,0x08) = 0x%x\n”, id);
        printf(“dm9000 isr = 0x%x\n”, dm9000_ior(0xfe));
}

本主题由 亚瑟王 于 2010-5-10 15:36 解除高亮

收藏 分享 评分

回复 引用

订阅 TOP

 

管理员

亚瑟王 当前在线

UID

帖子

4716 

精华

积分

6246 

阅读权限

200 

在线时间

294 小时 

注册时间

2009-3-5 

最后登录

2010-6-12

管理员

2#

 亚瑟王发表于 2010-5-10 18:05 | 只看该作者

<***************************************>
               TQ2440 Test Program
www.embedsky.net
<***************************************>
read dm9000 vid = 0xa46
read dm9000 pid = 0x9000
read dm9000 reg(0x09,0x08) = 0x3837
dm9000 isr = 0x0
Please select function :
0 : Please input 1-11 to select test
1 : Test PWM
2 : RTC time display
3 : Test ADC
4 : Test interrupt and key scan
5 : Test Touchpanel
6 : Test TFT LCD
7 : Test IIC EEPROM
8 : UDA1341 play music
9 : UDA1341 record voice
10 : Test SD Card
11 : Test CMOS Camera
上面列出来实际运行时获取的DM9000的ID号,将1楼的代码放到TQ2440_Test程序的main.c中,然后在main()函数中的“MMU_init();”上面一行添加rd_dm9000_id();即可读取正确的ID号。

转载于:https://www.cnblogs.com/xilentz/archive/2010/07/12/1775546.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/110756.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 虚拟机扩容磁盘后扩容分区_如何将磁盘主分区设置为活动分区

    虚拟机扩容磁盘后扩容分区_如何将磁盘主分区设置为活动分区当服务器数据太多的时候,硬盘不足的时候就得考虑扩容,为了不影响业务的正常运行,一般云服务器的本地磁盘都是不支持分区的,因为业务数据通常是不能中断和移动的,无论是增加硬盘或在原有磁盘增加分区的方式扩容,势必会存在卸载、挂载、移动等操作。所以对于云硬盘,如果我们要把他作为数据盘。即使能分区,也最好不要分区,以免以后扩容麻烦。以下用虚拟机看一下对未分区磁盘扩容的效果[root@k8s-node01…

    2022年8月30日
    5
  • 视频直播技术详解之直播云SDK性能测试模型[通俗易懂]

    视频直播技术详解之直播云SDK性能测试模型[通俗易懂]声明:本文为CSDN原创投稿文章,未经许可,禁止任何形式的转载。作者:七牛云责编:钱曙光,关注架构和算法领域,寻求报道或者投稿请发邮件qianshg@csdn.net,另有「CSDN高级架构师群」,内有诸多知名互联网公司的大牛架构师,欢迎架构师加微信qshuguang2008申请入群,备注姓名+公司+职位。七牛云于6月底发布了一个针对视频直播的实时流网络LiveNet和完…

    2022年7月21日
    21
  • php nginx 负载均衡

    php nginx 负载均衡1:nginx服务器192.168.182.128:8081/代码服务器:192.168.182.129:81192.168.182.131:812:在nginx服务器配置nginx.confupstreamtomcatserver1{server192.168.182.129:81weight=3;server192.168.182.131:81;}server{…

    2022年6月18日
    26
  • 算法:记忆化搜索「建议收藏」

    算法:记忆化搜索「建议收藏」概述记忆化搜索是一种典型的空间换时间的思想。记忆化搜索的典型应用场景是可能经过不同路径转移到相同状态的dfs问题。更明确地说,当我们需要在有层次结构的图(不是树,即当前层的不同节点可能转移到下一层的相同节点)中自上而下地进行dfs搜索时,大概率我们都可以通过记忆化搜索的技巧降低时间复杂度。例子:青蛙过河题目描述一只青蛙想要过河。假定河流被等分为若干个单元格,并且在每一个单元格内都有可能放有一块石子(也有可能没有)。青蛙可以跳上石子,但是不可以跳入水中。给你石子的位置列表stones(用单

    2022年7月26日
    14
  • InetAddress 解析

    InetAddress 解析IP地址分为IPv4和IPv6。IPv44字节长的ip称为IPv4.目前大部分ip都是IPv4。IPv4地址一般写为四哥无符号的字节,每个字节范围从0到255,最高字节在前面。为方便人们查看,各字节用点号分割。例如:192.168.1.100.这称为点分四段格式。IPv616字节长的ip成为IPv6.IPv6地址通常些微冒号分割的8个区块,每个区块4个十六进制数字。例如:2400:c

    2022年6月23日
    34
  • fastclick使用与解密

    fastclick使用与解密fastclick可以消除点击延时提高程序的运行效率。FastClick是一个非常方便的库,在移动浏览器上发生介于轻敲及点击之间的指令时,能够让你摆脱300毫秒的延迟。FastClick可以让你的应用程序更加灵敏迅捷。支持各种移动浏览器,比如Safari、Chrome、Opera等。

    2022年6月19日
    27

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号