查看: 4709|回复: 10

[已解决] K60 IIC电平异常(已解决)

[复制链接]

该用户从未签到

11

主题

101

帖子

0

中级会员

Rank: 3Rank: 3

积分
303
最后登录
2021-11-15
发表于 2014-10-15 14:31:06 | 显示全部楼层 |阅读模式
本帖最后由 FSL_TICS_ZP 于 2014-11-27 11:04 编辑

MK60F15.h中这样定义

#define SIM_SCGC4_IIC2_MASK                      0x40u
#define SIM_SCGC4_IIC2_SHIFT                     6
#define SIM_SCGC4_IIC1_MASK                      0x80u
#define SIM_SCGC4_IIC1_SHIFT                     7


K60 Sub-Family Reference Manual.pdf 中的12.2.12节定义SIM_SCGC4的bit6是IIC0 b7为IIC1与头文件定义明显不符呀

再说问题:
应用超核的库进行实验,上源码
void DS3231xInit(void)
{
    I2C_InitTypeDef I2C_InitStruct;

#if (HW_I2C0 == RTC_IIC_NO)

    #error "Hardware doe's support"

#elif (HW_I2C1 == RTC_IIC_NO)

    PORT_PinMuxConfig(HW_GPIOE, 0, kPinAlt6);   // I2C1_SDA
    PORT_PinMuxConfig(HW_GPIOE, 1, kPinAlt6);   // I2C1_SCL

    PORT_PinPullConfig(HW_GPIOE, 0, kPullUp);
    PORT_PinPullConfig(HW_GPIOE, 1, kPullUp);
    PORT_PinOpenDrainConfig(HW_GPIOE, 0, ENABLE);
    PORT_PinOpenDrainConfig(HW_GPIOE, 1, ENABLE);

#elif (HW_I2C2 == RTC_IIC_NO)

    #error "Hardware doe's support"

#endif

    I2C_InitStruct.instance = RTC_IIC_NO;
    I2C_InitStruct.baudrate = 78125;
    I2C_Init(&I2C_InitStruct);

    uint8_t iicBuff[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
    I2C_BurstWrite(RTC_IIC_NO, RTC_CHIP_ADDR+1, 0x00, 0x01, iicBuff, 10);
}


IIC初始化完后,SCA电平永远为低,SCL永远为高,数据无法输出,搞了很久一直查不到原因何在,求各路大神指点。


我知道答案 目前已有10人回答
回复

使用道具 举报

该用户从未签到

124

主题

3600

帖子

0

金牌会员

Rank: 6Rank: 6

积分
5781
最后登录
1970-1-1
发表于 2014-10-15 15:09:13 | 显示全部楼层
你好,楼主!
建议跑一下飞思卡尔的I2C例程,通过以下链接可以下载K60的例程
https://www.freescale.co
m/zh-H ... amp;lang_cd=zh-Hans
回复 支持 反对

使用道具 举报

该用户从未签到

11

主题

101

帖子

0

中级会员

Rank: 3Rank: 3

积分
303
最后登录
2021-11-15
 楼主| 发表于 2014-10-15 16:32:44 | 显示全部楼层
这是官方例程
/*******************************************************************/
/*!
* I2C Initialization
* Set Baud Rate and turn on I2C0
*/
void init_I2C(void)
{
  SIM_SCGC5 = SIM_SCGC5_PORTA_MASK | SIM_SCGC5_PORTB_MASK | SIM_SCGC5_PORTC_MASK | SIM_SCGC5_PORTD_MASK | SIM_SCGC5_PORTE_MASK;

// SIM_SCGC4 |= SIM_SCGC4_IIC1_MASK; //Turn on clock to I2C0 module
  //  SIM_SCGC4 |=0xFFFFFFFF;
  SIM_SCGC4 |= SIM_SCGC4_IIC2_MASK;
    /* configure GPIO for I2C0 function */
    PORTE_PCR19 = PORT_PCR_MUX(4);
    PORTE_PCR18 = PORT_PCR_MUX(4);

    I2C0_F  = 0x14;       /* set MULT and ICR */
    I2C0_C1 = I2C_C1_IICEN_MASK;       /* enable IIC */
}

但我在官方文档MK60FN1M0VLQ15.pdf的8.2 K60 Signal Multiplexing and Pin Assignments中都查不到PTE18,和PTE19,不知这该如何解释啊。
回复 支持 反对

使用道具 举报

该用户从未签到

11

主题

101

帖子

0

中级会员

Rank: 3Rank: 3

积分
303
最后登录
2021-11-15
 楼主| 发表于 2014-10-15 16:40:59 | 显示全部楼层
FSL_TICS_ZP 发表于 2014-10-15 15:09
你好,楼主!
建议跑一下飞思卡尔的I2C例程,通过以下链接可以下载K60的例程
https://www.freescale.co
m/zh- ...

#define SIM_SCGC4_IIC2_MASK                      0x40u
#define SIM_SCGC4_IIC2_SHIFT                     6
#define SIM_SCGC4_IIC1_MASK                      0x80u
#define SIM_SCGC4_IIC1_SHIFT                     7

头文件定义与用户手册定义不符,例程定义的PTE18, PTE19又不可配,这问题很迷糊。
回复 支持 反对

使用道具 举报

该用户从未签到

124

主题

3600

帖子

0

金牌会员

Rank: 6Rank: 6

积分
5781
最后登录
1970-1-1
发表于 2014-10-15 16:48:33 | 显示全部楼层
LuoHG 发表于 2014-10-15 16:32
这是官方例程
/*******************************************************************/
/*!

官方例程是跑的是120MHz的K60板子,这个文档你可以参考一下。
https://www.nxpic.org.cn/module/forum/thread-569884-1-1.html
回复 支持 反对

使用道具 举报

该用户从未签到

11

主题

101

帖子

0

中级会员

Rank: 3Rank: 3

积分
303
最后登录
2021-11-15
 楼主| 发表于 2014-10-15 16:57:36 | 显示全部楼层
FSL_TICS_ZP 发表于 2014-10-15 16:48
官方例程是跑的是120MHz的K60板子,这个文档你可以参考一下。
https://www.nxpic.org.cn/module/forum/ ...

好,我再研究研究
回复 支持 反对

使用道具 举报

该用户从未签到

11

主题

101

帖子

0

中级会员

Rank: 3Rank: 3

积分
303
最后登录
2021-11-15
 楼主| 发表于 2014-10-15 17:02:28 | 显示全部楼层
FSL_TICS_ZP 发表于 2014-10-15 16:48
官方例程是跑的是120MHz的K60板子,这个文档你可以参考一下。
https://www.nxpic.org.cn/module/forum/ ...

我用的是MK60FN1M0VLQ15芯片啊,引脚配置里就没有PTE18和PTE19,被这个I2C搞得压抑了
回复 支持 反对

使用道具 举报

该用户从未签到

124

主题

3600

帖子

0

金牌会员

Rank: 6Rank: 6

积分
5781
最后登录
1970-1-1
发表于 2014-10-15 17:34:04 | 显示全部楼层
LuoHG 发表于 2014-10-15 17:02
我用的是MK60FN1M0VLQ15芯片啊,引脚配置里就没有PTE18和PTE19,被这个I2C搞得压抑了 ...

例程只是给你一个基本架构,实现基本的功能,你可以对照MK60FN1M0VLQ15芯片的参考手册,修改I2C的引脚配置。
回复 支持 反对

使用道具 举报

该用户从未签到

1

主题

802

帖子

0

金牌会员

Rank: 6Rank: 6

积分
1763
最后登录
1970-1-1
发表于 2014-10-29 16:39:50 | 显示全部楼层
你确定代码里参数设置正确了吗
回复 支持 反对

使用道具 举报

  • TA的每日心情
    无聊
    2019-4-1 22:48
  • 签到天数: 302 天

    连续签到: 1 天

    [LV.8]以坛为家I

    87

    主题

    7322

    帖子

    4

    金牌会员

    Rank: 6Rank: 6

    积分
    4632
    最后登录
    2021-1-25
    发表于 2014-10-29 23:46:52 | 显示全部楼层
    是数据寄存器串口输出问题吗?
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-9-8 03:48 , Processed in 0.098182 second(s), 30 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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