由于要写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吧.

TI BLE CC2541的I2C主模式的更多相关文章

  1. TI BLE CC2541的SPI主模式

    SPI就是用4条线来串行传输数据, 2541只能用模拟的方式用GPIO来做. //*********************************************************** ...

  2. TI BLE CC2541的通讯协议.

    包类型: 01命令/02数据/03应答消息 开始标志FF/本数据包长度(注意是16进制)/校验码/包ID/包类型01: 表示是命令/01表示下面要开始传输/03字符串编号/字符串长度/结束位FEFF  ...

  3. TI BLE协议栈软件框架分析

    看源代码的时候,一般都是从整个代码的入口处开始,TI  BLE 协议栈源码也不例外.它的入口main()函数就是整个程序的入口,由系统上电时自动调用. 它主要做了以下几件事情: (一)底层硬件初始化配 ...

  4. Nginx+keepalived双机热备(主主模式)

    之前已经介绍了Nginx+Keepalived双机热备的主从模式,今天在此基础上说下主主模式的配置. 由之前的配置信息可知:master机器(master-node):103.110.98.14/19 ...

  5. MySQL+MGR 单主模式和多主模式的集群环境 - 部署手册 (Centos7.5)

    MySQL Group Replication(简称MGR)是MySQL官方于2016年12月推出的一个全新的高可用与高扩展的解决方案.MGR是MySQL官方在5.7.17版本引进的一个数据库高可用与 ...

  6. nginx+keepalived高可用及双主模式

    高可用有2中方式. 1.Nginx+keepalived 主从配置 这种方案,使用一个vip地址,前端使用2台机器,一台做主,一台做备,但同时只有一台机器工作,另一台备份机器在主机器不出现故障的时候, ...

  7. Keepalived+LVS实现高可用负载均衡双主模式

    LVS是一种集群(Cluster)技术:采用IP负载均衡技术和基于内容请求分发技术.调度器具有很好的吞吐率,将请求均衡地转移到不同的服务器上执行,且调度器自动屏蔽掉服务器的故障,从而将一组服务器构成一 ...

  8. Mysql组复制之单主模式(一)

    环境 系统:CentOS release 6.9 (Final) Mysql:5.7 机器: S1 10.0.0.7 lemon S2 10.0.0.8 lemon2 S3 10.0.0.9 lemo ...

  9. MySQL5.7 Group Replication (MGR)--Mysql的组复制之多主模式

    MGR——Mysql的组复制之多主模式 以下测试在VMware环境: 操作系统:Centos 6.9 X86_64 数据库:Mysql 5.7 (mysql  Ver 14.14 Distrib 5. ...

随机推荐

  1. LeetCode Meeting Rooms

    原题链接在这里:https://leetcode.com/problems/meeting-rooms/ Given an array of meeting time intervals consis ...

  2. Windows 下用 gogs 配置局域网 git server

    大道曙光 Windows 下用 gogs 配置局域网 git server 最近要用 C# 开发一个新的项目,所以需要在 Windows 局域网环境下构建一个 git server. 在 Window ...

  3. MVC项目实践,在三层架构下实现SportsStore-07,实现订单提交

    SportsStore是<精通ASP.NET MVC3框架(第三版)>中演示的MVC项目,在该项目中涵盖了MVC的众多方面,包括:使用DI容器.URL优化.导航.分页.购物车.订单.产品管 ...

  4. jquery.form插件

    提交表单的2种方式 // ajaxForm        $("#form1").ajaxForm(options);         // ajaxSubmit        $ ...

  5. Python模块(MySQLdb)

    MySQLdb模块是python用来连接mysql的第三方模块,安装 pip install mysql-python 连接mysql: 主要两步,建立mysql连接对象.游标对象.再操作数据库 im ...

  6. uiimageView连续帧动画

    // //  MJViewController.m //  05-汤姆猫 // //  Created by apple on 14-3-24. //  Copyright (c) 2014年 itc ...

  7. 在HTML中调用iOS

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. PDB重命名

    PDB重命名 将PDB clonedb重命名为rdb SQL> select name,open_mode from v$pdbs; NAME OPEN_MODE --------------- ...

  9. Swift实战-豆瓣电台(八)播放进度与时间

    视频观看地址:http://www.tudou.com/programs/view/4mEtz8S72k0/?resourceId=399000367_06_02_99 这节主要内容是NSTimer, ...

  10. PostgreSQL Replication之第十章 配置Slony(5)

    10.5 给复制添加表和管理的问题 一旦我们增加了此表到系统中,我们可以将它添加到复制设置.这样做有点复杂.首先,我们必须创建我们自己的新表集合并把这个和我们已经有的表合并.因此,过一段时间,我们将有 ...