TI中文支持网
TI专业的中文技术问题搜集分享网站

CC2541 I2C脚用作GPIO时如何称呼?

各位朋友,

在原有CC2541产品基础上我们得添加一个IC卡(SPI接口)功能,由于管脚吃紧,只得借用I2C脚了。

不过发现I2C脚作GPIO时用时不属于任何常用GPIO,譬如P0/1/2之类。这在定义信号脚时碰到了困难,如下:

//////////////////////////////////
//端口定义
/////////////////////////////////////////////////////////////////////
//MFRC500
#define    MF522_RST    P0_6      // RESET
#define    MF522_NSS    ???        // SDA
#define    MF522_SCK    ???        // SDK
#define    MF522_SI        P1_4     // MOSI
#define    MF522_SO      P1_5     // MISO

请教各位,“MF522_NSS”及“MF522_SCK”如何定义好?

以下是错误示例:

#define   MF522_NSS    I2CIO.SDAD     // ERROR!
#define   MF522_SCK    I2CIO.SCLD     // ERROR!

搜索过网络相关贴,但是没搜索到。

谢谢!

Viki Shi:

论坛有类似问题,请参考这边的例子: e2echina.ti.com/…/23777

用户手册也有相关内容,第 20.1.8 章,关于如何配置寄存器,关闭I2C,然后配置成GPIO

da qin zheng sheng:

这个比较好用,可以参考
blog.csdn.net/…/50987917

Susan Yang:

user3840094:

回复 Viki Shi:

Viki and 大秦正声:

谢谢两位的回复!

两位推荐的链接我都看过。但我还是不会如何调用这两个GPIO口,如我发帖内容,如何将I2C设置成GPIO的脚替换下面红色字体内容呢?

#define   MF522_NSS    I2CIO.SDAD     // ERROR!#define   MF522_SCK    I2CIO.SCLD     // ERROR!

所以我得承认,我是属于那种很笨的人了。

譬如,下面的这些设置我在别处都用过:

在初始化时,设置I2C为GPIO:

I2CWC |= 0x83; I2CIO = 0x03;

还有这个PORT口的设置

输入 

  P0SEL &= ~P0_PIN;           // Select pin to function as General Purpose I/O.    P0DIR &= ~P0_PIN;           // Select direction as input.    P0INP &= ~P0_PIN;           // Pull up/pull down.

输出

    P1SEL &= BIT0;      // GPIO.    P1DIR |= BIT0;      // Output.    P1_0 = 0;           // LED1 off.

但是这个I2C口作GPIO是不属于任何一个PORTn,怎么被调用呢。

user3840094:

回复 Susan Yang:

Dear Susan,

I can not see what you have posted. 奇怪了。

user3840094:

回复 user3840094:

必须自己回复了,但愿像我一样笨的同仁们可以节约点时间放在产品开发上面了(笨人未必就不能开发不了产品的),而不是被某个芯片的某个功能卡住好多天。

#define I2C_SCLD BV(1) // SCL data value#define I2C_SDAD BV(0) // SDA data value

#define MF522_NSS_0      I2CIO &=~I2C_SDAD       //SDA=0#define MF522_NSS_1      I2CIO |=I2C_SDAD           //SDA=1#define MF522_SCK_0      I2CIO &=~I2C_SCLD       //SCL=0#define MF522_SCK_1      I2CIO |=I2C_SCLD           //SCL=1

只能用这个方法去调用了。虽然别扭点,能用就行!

上面是通过示波器测试可以正常工作的,我尽可能做到不误导同仁了。

感叹一点:

这个论坛很多贴是无果而终的。其实这于求助者没起到任何正面促进作用!基本是浪费网络资源了。

笨人经常去PIC CCS 论坛去看看走走聊聊,也常去MICROCHIP论坛坐坐,基本没见废贴(就是那些无果而终的贴)。

该坛子得反思了。

赞(0)
未经允许不得转载:TI中文支持网 » CC2541 I2C脚用作GPIO时如何称呼?
分享到: 更多 (0)