查看: 2459|回复: 8

[分享] 使用KL26自己写的I2C,驱动TPS65185

[复制链接]

该用户从未签到

11

主题

56

帖子

0

中级会员

Rank: 3Rank: 3

积分
256
最后登录
2016-1-21
发表于 2015-5-6 11:39:13 | 显示全部楼层 |阅读模式
TPS65185是一款电源芯片,不知道有多少飞友在用,这是我写的,不知道多大家有多少帮助。

TPS65185.C

#include "tps65185.h"
#include "i2c.h"


#define TPS_ERROR  0
#define TPS_SUCCESS 1

       

static void pause(void)
{
   unsigned int i,j;
    for(i = 0; i <4000; i++) {
        __nop();
    }

}


////////////////////////////////////////////////////////////////////////
//   TPS65185_reg  Read_Write
//
////////////////////////////////////////////////////////////////////////


extern unsigned char  tps_dev_read_reg(unsigned char addr)
{
    unsigned char  result;

    i2c_start();

    i2c_write_byte(TPS65185_I2C1_ADDRESS | I2C_WRITE);
    i2c_wait();
    i2c_get_ack();

    i2c_write_byte(addr);
    i2c_wait();
    i2c_get_ack();

    i2c_repeated_start();
    i2c_write_byte(TPS65185_I2C1_ADDRESS | I2C_READ);
    i2c_wait();
    i2c_get_ack();

    i2c_set_rx_mode();

    i2c_give_nack();
    result = i2c_read_byte();
    i2c_wait();


    i2c_stop ();
    result = i2c_read_byte();
    pause();
    return result;
}

extern unsigned char tps_dev_write_reg(unsigned char addr, unsigned char  data)
{
           unsigned char  result;

   i2c_start();
    i2c_write_byte(TPS65185_I2C1_ADDRESS|I2C_WRITE);
   i2c_wait();
    i2c_get_ack();

    i2c_write_byte(addr);
    i2c_wait();
    i2c_get_ack();

    i2c_write_byte(data);
    i2c_wait();
    i2c_get_ack();

    i2c_stop();
    pause();
   result = i2c_read_byte();
   pause();
    return result;
}


extern unsigned char tps_dev_test_reg_rw(unsigned char addr,unsigned char data)
{
     unsigned char  d;
     d = tps_dev_read_reg(addr);
     tps_dev_write_reg(addr,data);
     d = tps_dev_read_reg(addr);
     return 0;
}

TPS65185.H
#ifndef _TPS65185_H_
#define _TPS65185_H_


#define TPS65185_I2C1_ADDRESS  0xd0
#define I2C_READ    1
#define I2C_WRITE   0

extern unsigned char tps_dev_read_reg(unsigned char addr);
extern unsigned char tps_dev_write_reg(unsigned char addr, unsigned char  data);
extern unsigned char tps_dev_test_reg_rw(unsigned char addr,unsigned char data);


#endif






回复

使用道具 举报

该用户从未签到

19

主题

317

帖子

0

高级会员

Rank: 4

积分
862
最后登录
1970-1-1
发表于 2015-5-6 13:33:40 | 显示全部楼层
没看懂,学习一下。
回复 支持 反对

使用道具 举报

该用户从未签到

0

主题

50

帖子

0

注册会员

Rank: 2

积分
126
最后登录
1970-1-1
发表于 2015-5-6 13:38:39 | 显示全部楼层
学习一下。。。。。。。
回复

使用道具 举报

该用户从未签到

0

主题

50

帖子

0

注册会员

Rank: 2

积分
126
最后登录
1970-1-1
发表于 2015-5-7 21:58:40 | 显示全部楼层

没看懂。。。。。。。。。。。
回复

使用道具 举报

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

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2015-5-8 09:26:48 | 显示全部楼层
    楼主是遇到问题了?还是资源共享啊?
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11

    主题

    56

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    256
    最后登录
    2016-1-21
     楼主| 发表于 2015-5-8 10:07:30 | 显示全部楼层
    安 发表于 2015-5-8 09:26
    楼主是遇到问题了?还是资源共享啊?

    这是我之前在社区提问的,然后自己写出来的,算是分享吧。
    回复 支持 反对

    使用道具 举报

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

    连续签到: 1 天

    [LV.1]初来乍到

    305

    主题

    4701

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    377
    最后登录
    2023-8-16
    发表于 2015-5-8 10:28:43 | 显示全部楼层
    谢谢楼主分享。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

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

    连续签到: 1 天

    [LV.1]初来乍到

    59

    主题

    2888

    帖子

    10

    金牌会员

    Rank: 6Rank: 6

    积分
    6020
    最后登录
    2020-9-28
    发表于 2015-5-12 14:46:37 | 显示全部楼层
    sunkk0113 发表于 2015-5-8 10:07
    这是我之前在社区提问的,然后自己写出来的,算是分享吧。

    非常感谢你关于Kinetis的经验分享 !
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    2

    主题

    110

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    362
    最后登录
    2015-7-31
    发表于 2015-5-12 16:58:23 | 显示全部楼层
    学习一下
    回复

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-7-23 21:07 , Processed in 0.098376 second(s), 27 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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