查看: 2765|回复: 6

[已解决] IIC无法实现数据传输(已解决)

[复制链接]

该用户从未签到

2

主题

12

帖子

0

新手上路

Rank: 1

积分
29
最后登录
1970-1-1
发表于 2014-5-8 11:52:52 | 显示全部楼层 |阅读模式
单片机型号是mc9s08sg8,与24c04进行数据的存储,我用示波器测试的,发现一个很费解的问题,程序是这样的,
程序1:

#include  /* for EnableInterrupts macro */
#include "derivative.h" /* include peripheral declarations */

//unsigned char data[]={0x56,0x57,0x58,1,2,3,4,5,6,7,8,9,10,11,12,13};
long i=0;

int flag=0;
void main(void) {

  EnableInterrupts; /* enable interrupts */
  /* include your code here */
   SOPT1=0x00;
    SPMSC1=0x1C;
    SPMSC2=0x00;
    if (*(unsigned char*)0xFFAF != 0xFF)
    { /* Test if the device trim value is stored on the specified address */
        ICSTRM = *(unsigned char*)0xFFAF;  /* Initialize ICSTRM register from a non volatile memory */
        ICSSC = *(unsigned char*)0xFFAE;   /* Initialize ICSSC register from a non volatile memory */
    }
   ICSC1=0x06;//选择时钟频率
   ICSC2=0x40;
   SOPT1_IICPS=1;//iic引脚的选择
   MTIMSC=0x10;//3s的中断延迟,主要是等电压稳定后开始
   MTIMMOD=0xB6;
   MTIMCLK=0x18;
   MTIMSC=0x60;
    
  IICF=0X4B;
  IICC1_IICEN=1;
  //IICC1_IICIE=1;//中断取消,使能iic、
  IICS=0X12;

 
  //IICD=0xa4;
  while(!flag);
  IICC1_TX=1;
  IICC1_MST=1;
 IICD=0xa4;

  for(i=0;i
我知道答案 目前已有5人回答
回复

使用道具 举报

  • TA的每日心情
    开心
    2018-7-2 06:04
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    59

    主题

    2888

    帖子

    10

    金牌会员

    Rank: 6Rank: 6

    积分
    6020
    最后登录
    2020-9-28
    发表于 2014-5-8 13:51:57 | 显示全部楼层

    回复:IIC无法实现数据传输

    请根据MC9S08SG8手册的I2c流程操作
    S08 IIC.jpg
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6

    主题

    30

    帖子

    0

    新手上路

    Rank: 1

    积分
    112
    最后登录
    1970-1-1
    发表于 2014-5-9 10:02:44 | 显示全部楼层

    RE:IIC无法实现数据传输

    这个问题太大了,这样是无法解决的,还是建议你去查找这个资源,看数据手册,明白每个寄存器的意义,再设置。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    2

    主题

    12

    帖子

    0

    新手上路

    Rank: 1

    积分
    29
    最后登录
    1970-1-1
     楼主| 发表于 2014-5-11 18:27:28 | 显示全部楼层

    回复:IIC无法实现数据传输

    回复第 2 楼 于2014-05-08 13:51:57发表:
    请根据MC9S08SG8手册的I2c流程操作
    我就是按流程的,现在连示波器都无法测出波形,肯定没有数据的,我就想知道为什么没有数据,你用I2c成功过吗,方便的话留个QQ,或者加我的也可以330670304
     
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    2

    主题

    12

    帖子

    0

    新手上路

    Rank: 1

    积分
    29
    最后登录
    1970-1-1
     楼主| 发表于 2014-5-11 18:49:01 | 显示全部楼层

    回复:IIC无法实现数据传输

    回复第 3 楼 于2014-05-09 10:02:44发表:
    这个问题太大了,这样是无法解决的,还是建议你去查找这个资源,看数据手册,明白每个寄存器的意义,再设置。
    你这个模块成功过没。我看了两个星期了,官网的历程和书上的例程都看了好几遍了,你的QQ多少,我的是330670304
     
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-7-2 06:04
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    59

    主题

    2888

    帖子

    10

    金牌会员

    Rank: 6Rank: 6

    积分
    6020
    最后登录
    2020-9-28
    发表于 2014-5-12 10:05:40 | 显示全部楼层

    回复:IIC无法实现数据传输

    回复第 4 楼 于2014-05-11 18:27:28发表:
    回复第 2 楼 于2014-05-08 13:51:57发表:
    请根据MC9S08SG8手册的I2c流程操作
    我就是按流程的,现在连示波器都无法测出波形,肯定没有数据的,我就想知道为什么没有数据,你用I2c成功过吗,方便的话留个QQ,或者加我的也可以330670304

     

    Figure 11-11. IIC Module Quick Start 框中I2c模块初始化中提到要操作寄存器的某个控制位,并不是楼主直接写那一位。
    应该以寄存器方式去修改比如步骤5
    5. Write: IICC1
    — to enable TX
    应该写成IICC1 |= IICC1_TX;
    Module Initialization (Master).jpg
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-7-2 06:04
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    59

    主题

    2888

    帖子

    10

    金牌会员

    Rank: 6Rank: 6

    积分
    6020
    最后登录
    2020-9-28
    发表于 2014-5-29 11:26:57 | 显示全部楼层

    回复:IIC无法实现数据传输

    楼主你好
    请问你的问题解决了吗? 如果问题尚未解决可以继续在帖子中与大家讨论。
    PS:由于你长时间未回帖,所以先把你的帖子标示成已解决了。

    以后问题解决后还请配合我们在帖子标题末添加“(已解决)”字样,谢谢!
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

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

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

    GMT+8, 2025-7-20 04:36 , Processed in 0.102740 second(s), 28 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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