zoukankan      html  css  js  c++  java
  • TI BLE CC2541的I2C主模式

    由于要写TM1680, 写命令跟写数据, 所以需要使用CC2541的I2C, 2541是有硬件I2C的.

    tm1680.c:

    #include "tm1680.h"

    //TM1680是先发送配置, 然后发送数据.
    void masterConfig(void);
    void masterSendData(void);

    void sendTest(void){
        //uint8 buffer[24]={0x0f,0x0e};
        //HalI2CWrite(2, buffer);
        //HalI2CRead(2,buffer);
        masterConfig();
        masterSendData();
    }

    void masterConfig(void){
        uint8 configArray[]={SYSDIS,COM16NMOS,RCMODE1,SYSEN,LEDON};
        HalI2CWrite(5, configArray);
    }

    //只有一个值得说的点, TM1680要先发送起始的页地址, 然后发送32位的数据.
    void masterSendData(void){
        uint8 dataArray[33];
        int i=0;
        dataArray[0]=0x00;
        for(i=1;i<33;i++){
            dataArray[i]=0xFF;
        }
        HalI2CWrite(33, dataArray);

    }

    void   HalTM1680Init(uint8 dev_addr )
    {
      HalI2CInit(dev_addr, i2cClock_533KHZ);
    }

    tm1680.h定义了一些命令的别名:

    #ifndef HAL_TM1680_H
    #define HAL_TM1680_H
    #include "hal_i2c.h"

    #include "hal_types.h"

    #define SYSDIS             0x80
    #define SYSEN             0x81
    #define LEDOFF             0x82
    #define LEDON           0x83
    #define BLINKOFF         0x88
    #define BLINK2HZ         0x89
    #define BLINK1HZ         0x8A
    #define BLINK0_5HZ     0x8B

    #define SLAVEMODE      0x90
    #define RCMODE0          0x98
    #define RCMODE1          0x9A
    #define EXTCLK0          0x9C
    #define EXTCLK1          0x9E

    #define COM8NMOS    0xA0
    #define COM16NMOS    0xA4
    #define COM8PMOS    0xA8
    #define COM16PMOS    0xAC

    void HalTM1680Init(uint8 dev_addr);
    void sendTest(void);

    #endif

    唯一的问题是硬件I2C两个byte中间等待了很久, 不知道为啥, 回头试试模拟的I2C吧.

  • 相关阅读:
    大数据和云计算
    关于移动开发的一些讨论(在有些场合,移动就是噱头,胡乱鼓吹是不负责任的)
    软件开发设计中的两个误区
    【转】从底层了解ASP.NET体系结构
    DotNet命名规范参考(转)
    PAD会取代PC吗
    转:关于http server
    AOP 面向方面的编程 Aspect Oriented Programing --第一次听说呢,汗!
    关于字符集(讲的比较清楚的一片字符集科普文章)
    .NET vs JAVA
  • 原文地址:https://www.cnblogs.com/Montauk/p/5801974.html
Copyright © 2011-2022 走看看