ST意法半导体
直播中

李峰

7年用户 158经验值
私信 关注
[问答]

用作GPIO时STM8S103F3 PB5/SDA表现不正确

用作GPIO时,STM8S103F3 PB5 / SDA表现不正确

以上来自于谷歌翻译


以下为原文



STM8S103F3 PB5/SDA behaves incorrect when used as GPIO

回帖(4)

王颖

2019-3-29 09:26:39
嗨丹尼斯,
 
 
 I2C引脚在内部配置为真开漏I / O(未实现P缓冲和保护二极管到VDD),因此无法将它们用作输出引脚
 请问这些I / O上的外部上拉电阻为4.7k。
 
 问候
 mozra

以上来自于谷歌翻译


以下为原文





Hi Dennis,


The I2C pins are configured as true open-drain I/O internally, (P-buffer and protection diode to VDD are not implemented) so is not possible to use them as output pins  
can you please check with external pull-up 4.7k on these I/O.  

Regards
mozra
举报

李峰

2019-3-29 09:45:23
谢谢,莫兹拉。
 
 我现在没有使用I2C引脚来驱动74AC164M,而是使用其他普通的GPIO。一切都很好。
 
 但我仍然使用I2C引脚(GPIO模式)来驱动其他组件,目前它们正常工作。关于你的回复''内部将I2C引脚配置为真开漏I / O(未实现P缓冲和保护二极管到VDD)
 '',我不知道我是否正确,使用I2C引脚作为输出有任何潜在的风险吗?
 
 感谢致敬

以上来自于谷歌翻译


以下为原文





Thanks, Mozra.



I am not using the I2C pin to drive 74AC164M now, but with other normal GPIOs. Everything is all right.

But I am still using the I2C pins(GPIO mode) to drive other components, currently they work ok. Concerning to your reply ''The I2C pins are configured as true open-drain I/O internally, (P-buffer and protection diode to VDD are not implemented)
'', I don't know if I am right, is there any underlying risk to use I2C pins as output?

Thanks and Regards
举报

张瑞娟

2019-3-29 10:01:59
嗨丹尼斯,
 
 我可以使用STM8S103F3 PD5 / PD6作为I2C SCL / SDA引脚(bit-banging方法)吗?
 这是否意味着我需要根据I2C切换配置
 读/写模式?
 
 //设置端口D.
 
 / *
 [2] 101
 7 6 5 4 3 2 1 0
 | | | | | | | |
 | | | ___________ SCL(输出)推拉输出
 | | _____________ SDA(I / O)推拉输出
 DDR 0 1 1 0 0 0 0 0
 CR1 0 1 1 0 0 0 0 0
 CR2 0 0 0 0 0 0 0 0
 * /
 GPIOD-> DDR = 0x70;
 GPIOD-> CR1 = 0x70;
 GPIOD-> CR2 = 0x00; STM8S103F3是否支持8051 MCU准双向模式?

以上来自于谷歌翻译


以下为原文







Hi Dennis,

May I use STM8S103F3 PD5/PD6 as I2C SCL/SDA pins (bit-banging approach) ?
Does it mean that I need to switch their configuration according to I2C
Read/Write modes ?

    // Setup Port D

     /*
     [2]101
            7 6 5 4 3 2 1 0
            | | | | | | | |
            | | |___________ SCL (Output)     Push pull output
            | |_____________ SDA (I/O   )     Push pull output
     DDR    0 1 1 0 0 0 0 0
     CR1    0 1 1 0 0 0 0 0
     CR2    0 0 0 0 0 0 0 0
     */
     GPIOD->DDR = 0x70;
     GPIOD->CR1 = 0x70;
     GPIOD->CR2 = 0x00; Does the STM8S103F3 support 8051 MCU quasi-bidirection mode ?
举报

张瑞娟

2019-3-29 10:18:24
丹尼斯,
 
 
 你的意思是可以使用STM8S103F3 PB.4 / PB.5
 正常的开漏引脚?你能告诉我如何配置他们的注册人吗?
 
 //初始端口B.
 / *
 [2] 101
 7 6 5 4 3 2 1 0
 | | | | | | | |
 | | | | _________ I2C SCL(输出)开漏输出
 | | | ___________ I2C SDA(输出)开漏输出
 DDR 0 0 1 1 0 0 0 0
 CR1 0 0 0 0 0 0 0 0
 CR2 0 0 0 0 0 0 0 0
 * /
 GPIOB-> DDR = 0x30;
 GPIOB-> CR1 = 0x00;
 GPIOB-> CR2 = 0x00;
 
 他们是对的吗?我错过了什么?

以上来自于谷歌翻译


以下为原文





Dennis,


Do you mean that STM8S103F3 PB.4/PB.5 can be used  
as normal Open Drain pins ? Could you tell me how to configure their regisers ?

     // Init Port B
     /*
     [2]101
            7 6 5 4 3 2 1 0
            | | | | | | | |
            | | | |_________ I2C SCL (Output)    Open drain output
            | | |___________ I2C SDA (Output)    Open drain output
     DDR    0 0 1 1 0 0 0 0
     CR1    0 0 0 0 0 0 0 0
     CR2    0 0 0 0 0 0 0 0
     */
     GPIOB->DDR = 0x30;
     GPIOB->CR1 = 0x00;
     GPIOB->CR2 = 0x00;

Are they  correct ? What did I miss else ?
举报

更多回帖

发帖
×
20
完善资料,
赚取积分