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

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

  2. 在美国看中国HTML5市场的发展

    近日,APICloud 创始人兼CEO刘鑫在美国旧金山和美国的HTML5开发者进行了一次近距离的接触,感受中美HTML5开发者的热度差别和不同市场阶段的中美表现巨大差异. 中国和美国的HTML5市场差 ...

  3. mongoose的promise(转发)

    Switching out callbacks with promises in Mongoose Published on July 28, 2015 mongo node mongoose pro ...

  4. android中用Spannable在TextView中设置超链接、颜色、字体

    昨晚研读 ApiDemo 源码至 com.example.android.apis.text.Link 类.首先,看一下其运行效果:  要给 TextView 加上效果,方式主要有几种: 第一种,自动 ...

  5. LED_9261在linux2.6.30中tick_led的实现

    在linux2.6.30内核中,内核也提供了相关的平台驱动来操作gpio或LED,但更简便的方法是直接操作GPIO来控制led. 网上一博文中介绍直接封装led_on和led_off()函数直接调用即 ...

  6. PHP框架Yii2.0安装(基础版、高级版)

    最近农成也是切入了yiiframework 2.0,就是安装yii2.0就花费了不少的时间,为此做了很多的弯路,特此写一篇博文来给后面学习的同学少走一点的弯路.写的不好的地方欢迎各位学习的同学们能够指 ...

  7. SWIFT Button的基本用法

    import UIKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { var window: ...

  8. iOS 蓝牙开发之传输图片

    #import <UIKit/UIKit.h> @interface AppDelegate : UIResponder <UIApplicationDelegate> @pr ...

  9. 查看oracle数据库中的保留字

    SQL> select * from v$reserved_words;

  10. Silverlight动画显示Line线

    目的:在silverlight中显示两点之间的连线,要求动画显示连线效果. 如果需实现动画效果不得不了解,Storyborad对象: Storyboard Silverlight   通过时间线控制动 ...