查看: 3053|回复: 9

[其他] 关于使用IO口模拟IIC通信

[复制链接]

该用户从未签到

1

主题

24

帖子

0

注册会员

Rank: 2

积分
57
最后登录
1970-1-1
发表于 2014-11-24 11:45:11 | 显示全部楼层 |阅读模式
请教各位,我想使用kinetis KL16 的单片机IO口来模仿iic通信,设置了两个IO口都为输出,对IIc器件进行写操作,但是在进行读取操作时,怎样才能读取IO口的电平状态,该IO口已经设置为输出。此时必须把IO口设置为输入状态,在进行读取操作。还是IO口在输出状态下就可以读取IO电平,和输入读取电平的操作方式一样?
我知道答案 目前已有9人回答
回复

使用道具 举报

  • TA的每日心情
    开心
    2017-4-27 08:44
  • 签到天数: 64 天

    连续签到: 1 天

    [LV.6]常住居民II

    26

    主题

    577

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1703
    最后登录
    1970-1-1
    发表于 2014-11-24 11:55:18 | 显示全部楼层
    KLmcu应该有2路IIC可用,为什么还用io模拟呢?
    设置为输出的IO管脚是可以读取电平状态的,使用PDOR寄存器
    回复 支持 反对

    使用道具 举报

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

    连续签到: 1 天

    [LV.1]初来乍到

    59

    主题

    2888

    帖子

    10

    金牌会员

    Rank: 6Rank: 6

    积分
    6020
    最后登录
    2020-9-28
    发表于 2014-11-24 13:35:01 | 显示全部楼层
    adarly 发表于 2014-11-24 11:55
    KLmcu应该有2路IIC可用,为什么还用io模拟呢?
    设置为输出的IO管脚是可以读取电平状态的,使用PDOR寄存器 ...

    如楼上网友所述:楼主可以直接使用KL16芯片的硬件IIC模块,没必要用IO口去模拟实现。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

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

    连续签到: 1 天

    [LV.1]初来乍到

    59

    主题

    2888

    帖子

    10

    金牌会员

    Rank: 6Rank: 6

    积分
    6020
    最后登录
    2020-9-28
    发表于 2014-11-24 13:39:55 | 显示全部楼层
    建议楼主到飞思卡尔官网的[url=https://www.freescale.co
    m/zh-Hans/webapp/sps/site/prod_summary.jsp?code=FRDM-KL26Z&fpsp=1&tab=Design_Tools_Tab]FRDM-KL26Z: 面向Kinetis KL16和KL26 MCU (高达128 KB闪存)的飞思卡尔Freedom开发平台[/url]下载页面,找到[url=https://www.freescale.co
    m/zh-Hans/webapp/sps/site/prod_summary.jsp?code=FRDM-KL26Z&fpsp=1&tab=Design_Tools_Tab#]FRDM-KL26Z_SC[/url]: FRDM-KL26Z Sample Code Package并完成安装。

    在C:\FRDM-KL26Z_SC\FRDM-KL26Z_SC_Rev_1.0\klxx-sc-pex\projects\accelerometer_demo路径下有基于Processor Expert软件的IIC工程
    在C:\FRDM-KL26Z_SC\FRDM-KL26Z_SC_Rev_1.0\klxx-sc-baremetal\build\iar\FRDM_KL26ZDemo里有基于裸板的IIC工程
    可供你参考。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    1

    主题

    24

    帖子

    0

    注册会员

    Rank: 2

    积分
    57
    最后登录
    1970-1-1
     楼主| 发表于 2014-11-24 13:58:57 | 显示全部楼层
    可是现在的板子的iic器件已经连接在普通IO口上,没有时间改版,所以只能考虑模拟总线的方式进行通信。总线读写的时候,数据线的输入输出设置需要反复更改吗?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    难过
    2021-12-15 16:01
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2014-11-24 14:37:41 | 显示全部楼层
    写的时候设置为输出,读的时候设置为输入。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

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

    连续签到: 1 天

    [LV.1]初来乍到

    59

    主题

    2888

    帖子

    10

    金牌会员

    Rank: 6Rank: 6

    积分
    6020
    最后登录
    2020-9-28
    发表于 2014-11-24 17:03:53 | 显示全部楼层
    foces 发表于 2014-11-24 13:58
    可是现在的板子的iic器件已经连接在普通IO口上,没有时间改版,所以只能考虑模拟总线的方式进行通信。总线 ...

    对的
    需要根据读写情况设置
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4

    主题

    27

    帖子

    0

    注册会员

    Rank: 2

    积分
    124
    最后登录
    2015-9-14
    发表于 2014-11-25 11:26:56 | 显示全部楼层
    说实在的,自带的I2C不是很好用,读之前要虚读一次,F寄存器还有BUG只能设置为0,最后一位要在stop之后读出,前两天调的时候被这些问题坑了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4

    主题

    27

    帖子

    0

    注册会员

    Rank: 2

    积分
    124
    最后登录
    2015-9-14
    发表于 2014-11-25 11:27:58 | 显示全部楼层
    祝楼主模拟的I2C能顺利调出来,说不定比你用自带I2C还省时间呢
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    0

    主题

    51

    帖子

    0

    注册会员

    Rank: 2

    积分
    90
    最后登录
    2020-4-30
    发表于 2014-12-18 21:33:30 | 显示全部楼层
    此前有用硬件iic口,坑死了,最后模拟成功解决
    可以提供给楼主借鉴
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-7-20 16:50 , Processed in 0.104781 second(s), 30 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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