裸奔程序和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)
上一篇 2021年8月6日 下午7:00
下一篇 2021年8月6日 下午8:00


相关推荐

  • 8000401a错误解决方案(Excel)「建议收藏」

    8000401a错误解决方案(Excel)「建议收藏」前一阵子做开发需要用到Excel和Word编程,本人用的是Vista系统,开发环境是VS2005和Office2007,测试无任何问题,可是到部署的时候出现了一些令人很头痛的问题,老是会出现例如:检索COM类工厂中CLSID为{000209FF-0000-0000-C000-000000000046}的组件时失败,原因是出现以下错误:8000401a。的错误,在网上查询了许多资

    2022年7月25日
    8
  • finalize方法作用_Java finalize

    finalize方法作用_Java finalize关于object类中的finalize()方法。1、在object类中的源代码:protectedvoidfinalize()throwsThrowable{}2、finalize()方法只有一个方法体,里面没有代码,而且这个方法是protected修饰的。3、这个方法不需要程序员手动调用,JvM的垃圾回收器负责调用这个方法。4、finalize()方法的执行时机:当一个java对象即将被垃圾回收器回收的时候,垃圾回收器负责调用finalize()方法。5、finalize()方法实际上

    2026年1月24日
    6
  • 科大讯飞发布全国产算力星火X1.5大模型,1台华为昇腾标配服务器可部署

    科大讯飞发布全国产算力星火X1.5大模型,1台华为昇腾标配服务器可部署

    2026年3月14日
    1
  • EC20模块内置协议栈的开发笔记

    EC20模块内置协议栈的开发笔记本文主要记录如何通过 UART 接口发送 AT 指令进行网络连接 前言 EC20 是 4G 全网通模块 从手册上看类似的模块应该还有 EG9x 和 EM05 硬件硬件上使用一路 UART 接口与模块通信 UART 接口默认使用波特率 模块上电就会启动 可以通过拉低 RESET 管脚对模块进行复位操作 软件 AT 命令的格式 发送方是以 AT 开头 0x0D 结尾的字符串 格式比较统一 模块响应是

    2026年2月11日
    2
  • 怎样更改pycharm的项目默认保存路径_vscode怎么给python导入包

    怎样更改pycharm的项目默认保存路径_vscode怎么给python导入包 参考原文:https://blog.csdn.net/yggaoeecs/article/details/78378938  还有这篇,同时讲了anaconda的安装:https://blog.csdn.net/qq_29883591/article/details/78077244https://blog.csdn.net/qq_29883591/article/details/78…

    2022年8月27日
    6
  • java.library.path_java的path的设置路径

    java.library.path_java的path的设置路径添加Handler:me.add(new ContextPathHandler(“ctx”)),然后在页面中就可以${ctx}来用代码如下:找不到代码写在哪里的,请在整个工程中搜索configHandlerconfig: /** *配置处理器 */ publicvoidconfigHandler(Handlersme){ me.add(newCont

    2025年12月3日
    8

发表回复

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

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