打印
[MCU]

STM8S003F3P6,需两路IIC,需如何做

[复制链接]
2952|20
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
kenhgt|  楼主 | 2015-10-30 10:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 kenhgt 于 2015-10-30 10:39 编辑

STM8S003F3P6,如果需要两路I2C的话,一路用硬件IIC,一路用GPIO口软件模拟可以吗?
具体如何做?请给点参考资料或案例。
两路可以同时工作么?我是为了提高效率,如果不能同时处理数据,那就没用了。是不是需要在RAM各分一块地儿
因为对速率有要求,我希望用两路,将丛机分为两批,提高扫描速率。

相关帖子

沙发
ayb_ice| | 2015-10-30 10:34 | 只看该作者
为什么要两路呢,本身支持多主通信

使用特权

评论回复
板凳
kenhgt|  楼主 | 2015-10-30 10:39 | 只看该作者
ayb_ice 发表于 2015-10-30 10:34
为什么要两路呢,本身支持多主通信

因为对速率有要求,我希望用两路,将丛机分为两批,提高扫描速率。

使用特权

评论回复
地板
ayb_ice| | 2015-10-30 10:44 | 只看该作者
kenhgt 发表于 2015-10-30 10:39
因为对速率有要求,我希望用两路,将丛机分为两批,提高扫描速率。

我感觉意义不大

CPU只有一个,处理这边处理不了那一边

使用特权

评论回复
5
kenhgt|  楼主 | 2015-10-30 10:46 | 只看该作者
本帖最后由 kenhgt 于 2015-10-30 10:49 编辑
ayb_ice 发表于 2015-10-30 10:44
我感觉意义不大

CPU只有一个,处理这边处理不了那一边

那么就是说最后实现起来还是一路IIC?STM8S003F3P6的硬件IIC只能支持100k,而我的从机可以支持到400k,那么我可以在STM8上用两个GPIO口软件模拟到400k的主机模式,从而解决这个问题?

使用特权

评论回复
6
ayb_ice| | 2015-10-30 10:59 | 只看该作者
kenhgt 发表于 2015-10-30 10:46
那么就是说最后实现起来还是一路IIC?STM8S003F3P6的硬件IIC只能支持100k,而我的从机可以支持到400k,那 ...

我从没不用硬件的IIC,SPI通信

一直以来使用GPIO模拟,移植方便,可靠性高,因为不断的修复BUG,硬件的很难达到这效果,因为每个硬件有些不同

使用特权

评论回复
7
kenhgt|  楼主 | 2015-10-30 11:02 | 只看该作者
ayb_ice 发表于 2015-10-30 10:59
我从没不用硬件的IIC,SPI通信

一直以来使用GPIO模拟,移植方便,可靠性高,因为不断的修复BU ...

我的从机可以支持到400k,那么我可以在STM8上用两个GPIO口软件模拟到400k的主机模式,从而解决这个问题?模拟的话,是可以随便设置速率的吧?能不能给一些资料看看。。。唉,初哥想法多,实践难

使用特权

评论回复
8
ayb_ice| | 2015-10-30 11:11 | 只看该作者
kenhgt 发表于 2015-10-30 11:02
我的从机可以支持到400k,那么我可以在STM8上用两个GPIO口软件模拟到400k的主机模式,从而解决这个问题? ...

模拟的当然可以随意速度了,只要CPU足够快

资料就是IIC器件通信协议了,都是标准的

使用特权

评论回复
9
kenhgt|  楼主 | 2015-10-30 11:13 | 只看该作者
ayb_ice 发表于 2015-10-30 11:11
模拟的当然可以随意速度了,只要CPU足够快

资料就是IIC器件通信协议了,都是标准的 ...

“CPU足够快”是什么意思?CPU频率?能给个模拟IIC的例程学习学习吗?

使用特权

评论回复
10
ayb_ice| | 2015-10-30 13:52 | 只看该作者
kenhgt 发表于 2015-10-30 11:13
“CPU足够快”是什么意思?CPU频率?能给个模拟IIC的例程学习学习吗?

给你个文件做参考

只能做参考,直接使用还需要其它文件,这与我的整个项目架构有一定的关系

PCF8563.rar

8.56 KB

使用特权

评论回复
11
kenhgt|  楼主 | 2015-10-30 13:56 | 只看该作者
ayb_ice 发表于 2015-10-30 13:52
给你个文件做参考

只能做参考,直接使用还需要其它文件,这与我的整个项目架构有一定的关系 ...

能不用其他GPIO口,直接用MCU原来的I2C口来软件模拟,从而提高速率到400k么?

使用特权

评论回复
12
linqing171| | 2015-10-30 14:08 | 只看该作者
kenhgt 发表于 2015-10-30 13:56
能不用其他GPIO口,直接用MCU原来的I2C口来软件模拟,从而提高速率到400k么? ...

MCU 的I2C的两个管脚不能做普通IO?

使用特权

评论回复
13
kenhgt|  楼主 | 2015-10-30 14:11 | 只看该作者
linqing171 发表于 2015-10-30 14:08
MCU 的I2C的两个管脚不能做普通IO?

感觉理解上直接一点。

使用特权

评论回复
14
ayb_ice| | 2015-10-30 14:20 | 只看该作者
kenhgt 发表于 2015-10-30 13:56
能不用其他GPIO口,直接用MCU原来的I2C口来软件模拟,从而提高速率到400k么? ...

看手册吧,感觉你不喜欢看资料,光问是没有用的

使用特权

评论回复
15
kenhgt|  楼主 | 2015-10-30 14:32 | 只看该作者
ayb_ice 发表于 2015-10-30 14:20
看手册吧,感觉你不喜欢看资料,光问是没有用的

手册我当然看完了,才会有这么多疑问。
如果手册有写着,或者我能理解到手册里写着,我当然就不会问啦。

能不用其他GPIO口,直接用MCU原来的I2C口来软件模拟,从而提高速率到400k么?

使用特权

评论回复
16
ayb_ice| | 2015-10-30 14:58 | 只看该作者
kenhgt 发表于 2015-10-30 14:32
手册我当然看完了,才会有这么多疑问。
如果手册有写着,或者我能理解到手册里写着,我当然就不会问啦。
...

我反问你那两个脚可以当GPIO吗

使用特权

评论回复
17
kenhgt|  楼主 | 2015-10-30 15:02 | 只看该作者
ayb_ice 发表于 2015-10-30 14:58
我反问你那两个脚可以当GPIO吗

我是初学者,第一次。很艰难看懂芯片手册。

我从另一个论坛看到回答说,所有的GPIO口在初始化后都是同等的IO口,那么我想知道芯片手册的管脚定义,最右侧的,Default alternate function和Alternate function after remap [option bit]是什么?我被这些弄糊涂了

使用特权

评论回复
18
ayb_ice| | 2015-10-30 15:06 | 只看该作者
kenhgt 发表于 2015-10-30 15:02
我是初学者,第一次。很艰难看懂芯片手册。

我从另一个论坛看到回答说,所有的GPIO口在初始化后都是同等 ...

看GPIO相关章节吧

就是说默许的功能是什么

这个没有办法的,必须看,而且还要重复看

使用特权

评论回复
19
sail8498| | 2015-10-30 20:32 | 只看该作者
IIC 和 USART 都是可以软件模拟的。

所有的接口(USART,SPI,IIC),都有一个基础,那就是普通的GPIO口,包括OSC的两个引脚。

但是如果你连前面那些人的话都看不懂,我觉得你也和我一样是个没入门的,那么我建议你就另外配个高速串口蕊片,增加的成本不会比你在这浪费的时间价值多。

使用特权

评论回复
20
songchenping| | 2015-10-30 21:21 | 只看该作者
既然楼主都有自己的想法了。还来问大家岂不是多余的了。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

14

主题

86

帖子

1

粉丝