WinCE-IIC调试助手(S3C2410)

简介: 这两天在调试一款新的硬件平台,它采用的MCU依然是S3C2410。该平台新增了一个RTC模块,采用的芯片是DS1337。这是一个IIC接口的时钟芯片。在开始调试时碰到了一些问题,MCU始终无法与DS1337通讯,走了些弯路,浪费了不少时间。
    这两天在调试一款新的硬件平台,它采用的MCU 依然是S3C2410 。该平台新增了一个RTC 模块,采用的芯片是DS1337 。这是一个IIC 接口的时钟芯片。在开始调试时碰到了一些问题,MCU 始终无法与DS1337 通讯,走了些弯路,浪费了不少时间。后来发现是IIC SDA SCL 接反了。为了以后能方便调试2410 下的IIC 设备,所以决定为2410 WinCE 做一个IIC 调试助手,以免下次再碰到类似的问题,而多花冤枉时间。

      IIC调试助手的主要功能:检测S3C2410 IIC-Bus上的设备,并给出对应的Slave Address。这样,我们就可以快速判断硬件是否有问题。除了侦测设备,同时也要支持读和写的功能。通过选择,能方便控制IIC-Bus上不同的从设备,方便调试。

      S3C2410有一个多主IIC串行总线,IIC总线上主从设备之间数据通信由SDASCL来完成。SDASCL信号线是双向的。一般情况下,2410作为主设备,它可以接收从设备上发出的数据或者发送数据给从设备。2410中跟IIC相关的寄存器主要有以下几个:

     IICCON——IIC控制寄存器;IICSTAT——IIC状态寄存器;IICDS——IIC移位寄存器; IICADD——IIC地址寄存器。

      IIC总线空闲时,SDASCL信号线都保持高电平。在SCL保持高电平的情况下,SDA的下降沿标志一个开始,SDA的上升沿标志一个停止。开始和停止的状态都是由主设备发起的。这也是判断主从设备的一个方法。紧跟在开始位之后的是一个7bit的地址数据,也就是Slave Address,它用来选择特定的IIC从设备,第8bit用来表明读写。SDA信号线上的数据都是8bit的。每个字节后面都紧跟一个ACK位。IIC开始位和停止位的时序图如下:

                   
    2410IIC总线有四种工作模式:主发送、主接收、从发送、从接收。我们经常使用的一般是主发送和主接收模式。IIC调试助手也是基于这两种模式的。有关S3C2410 IIC更详细的资料请参考其datasheet

    先为IIC-Bus写一个驱动,最终编译为IICBus.dll,调试时通过驱动调试助手动态加载。具体使用方法请看使用教程。如果系统启动时已经加载了其他的IIC驱动,建议通过驱动调试助手暂时停用,否则在加载本驱动时会出现问题。应用程序的界面如下:    
                         
    点击Scan按钮,侦测IIC总线上的设备,如果硬件正常将返回Slave Address。通过选择Slave Address控制具体的硬件设备,如EEPROMPCF8591CH7004等连接在IIC总线上的设备。

    点击Read按钮,将从选择的从设备上获取数据,数据的长度由Read Num来确定,Read Num中填入十进制的数即可,最大不超过256

    点击Write按钮,将输入的数据发送到从设备上。输入的数据必须是16进制的,每个字节的数据由两个字符组成,如设置PCF8591DA命令为400040为控制字节,00为有效数据(DA的值)

    具体的读写操作必须根据IIC从设备的情况来定,在测试时请查阅相关文档。该驱动和应用程序在WinCE5.0下测试通过。

    WinCE-IIC调试助手(S3C2410)及使用视频教程的下载地址: http://files.cnblogs.com/we-hjb/S3C2410-WinCE-IIC.rar
    WinCE5.0下单文件版IIC调试助手的下载地址:http://files.cnblogs.com/we-hjb/IICMgr_CE5.0.rar

目录
相关文章
arduino环境基于wemos串口调试小助手控制小车前后左右烧写源码
arduino环境基于wemos串口调试小助手控制小车前后左右烧写源码
117 0
arduino环境基于wemos串口调试小助手控制小车前后左右烧写源码
|
6月前
QT串口助手的实现
QT串口助手的实现
141 0
|
传感器 网络协议 IDE
【基于Arduino IDE平台开发ESP8266连接巴法云】
【基于Arduino IDE平台开发ESP8266连接巴法云】
2548 0
|
6月前
|
NoSQL Linux Android开发
OPENJTAG调试学习(四):OpenJTAG 来烧写、调试 cortex M3
OPENJTAG调试学习(四):OpenJTAG 来烧写、调试 cortex M3
121 0
|
编解码 监控 Linux
嵌入式Linux MIPI接口LCD调试-关于DRM显示与应用调试的干货浓缩
嵌入式Linux MIPI接口LCD调试-关于DRM显示与应用调试的干货浓缩
1149 0
|
异构计算
|
Linux
QT实战串口助手
QT实战串口助手
229 0
|
API 芯片
HarmonyOS系统中内核实现UART串口通信方法
大家好,今天主要聊一聊,如何使用鸿蒙系统实现UART数据的读写方法。
682 0
HarmonyOS系统中内核实现UART串口通信方法
|
AliOS-Things 物联网 开发者
Wifi- nodeMCU 之配置编译下载 alios-things 到 esp8266 实现天猫精灵语音控制 | 学习笔记
快速学习 Wifi- nodeMCU 之配置编译下载 alios-things 到 esp8266 实现天猫精灵语音控制
Wifi- nodeMCU 之配置编译下载 alios-things 到 esp8266 实现天猫精灵语音控制 | 学习笔记
|
区块链 开发工具 C语言
手把手教你用Qt写一个串口助手控制LED
手把手教你用Qt写一个串口助手控制LED
488 0
手把手教你用Qt写一个串口助手控制LED