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吧.
TI BLE CC2541的I2C主模式的更多相关文章
- TI BLE CC2541的SPI主模式
SPI就是用4条线来串行传输数据, 2541只能用模拟的方式用GPIO来做. //*********************************************************** ...
- TI BLE CC2541的通讯协议.
包类型: 01命令/02数据/03应答消息 开始标志FF/本数据包长度(注意是16进制)/校验码/包ID/包类型01: 表示是命令/01表示下面要开始传输/03字符串编号/字符串长度/结束位FEFF ...
- TI BLE协议栈软件框架分析
看源代码的时候,一般都是从整个代码的入口处开始,TI BLE 协议栈源码也不例外.它的入口main()函数就是整个程序的入口,由系统上电时自动调用. 它主要做了以下几件事情: (一)底层硬件初始化配 ...
- Nginx+keepalived双机热备(主主模式)
之前已经介绍了Nginx+Keepalived双机热备的主从模式,今天在此基础上说下主主模式的配置. 由之前的配置信息可知:master机器(master-node):103.110.98.14/19 ...
- MySQL+MGR 单主模式和多主模式的集群环境 - 部署手册 (Centos7.5)
MySQL Group Replication(简称MGR)是MySQL官方于2016年12月推出的一个全新的高可用与高扩展的解决方案.MGR是MySQL官方在5.7.17版本引进的一个数据库高可用与 ...
- nginx+keepalived高可用及双主模式
高可用有2中方式. 1.Nginx+keepalived 主从配置 这种方案,使用一个vip地址,前端使用2台机器,一台做主,一台做备,但同时只有一台机器工作,另一台备份机器在主机器不出现故障的时候, ...
- Keepalived+LVS实现高可用负载均衡双主模式
LVS是一种集群(Cluster)技术:采用IP负载均衡技术和基于内容请求分发技术.调度器具有很好的吞吐率,将请求均衡地转移到不同的服务器上执行,且调度器自动屏蔽掉服务器的故障,从而将一组服务器构成一 ...
- 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 ...
- MySQL5.7 Group Replication (MGR)--Mysql的组复制之多主模式
MGR——Mysql的组复制之多主模式 以下测试在VMware环境: 操作系统:Centos 6.9 X86_64 数据库:Mysql 5.7 (mysql Ver 14.14 Distrib 5. ...
随机推荐
- 简述Mesos API–files
Below is a set of endpoints available on a Mesos agent. These endpoints are reachable at the address ...
- 安装好mysql后允许远程连接
安装好mysql后允许远程连接 http://blog.sina.com.cn/s/blog_3eba8f1c0100tsox.html http://blog.csdn.net/zxyvb/arti ...
- 第三篇 SQL Server代理警报和操作员
本篇文章是SQL Server代理系列的第三篇,详细内容请参考原文. 正如这一系列的上一篇所述,SQL Server代理作业是由一系列的作业步骤组成,每个步骤由一个独立的类型去执行,除了步骤中执行的工 ...
- RFS_点击button按钮之后,RFS出现卡死的问题
[html代码] <html> <head> <title> 主窗口 </title> </head> <body> <d ...
- oracle恢复备份数据
sqlplus链接数据库: 1.sqlplus 用户名/密码@IP地址/数据库名称 2.sqlplus 用户名/密码@数据库名称 注:第二种方法要在tnsnames.oRA文件中配置数据库名称 链接断 ...
- less 初试
第一次接触less,做些记录. 官网 民间中文文档 less notepad++插件 1. 支持变量声明 支持颜色.大小等相加 @nice-blue: #5B83AD; @light ...
- Tomcat 部署:工程下 META-INF 目录下的 Context.xml
tomcat 在META-INF 文件夹中添加context.xml,使项目自动应用更新文件 Meta-inf文件夹下新建context.xml. <Context path="/FU ...
- ads 调试
1.路径错误,中文名称 2.定义错误
- AngularJs Test demo &front end MVVM implementation conjecture and argue.
<!DOCTYPE html> <html> <head> <title></title> <meta charset="u ...
- hduoj 4715 Difference Between Primes 2013 ACM/ICPC Asia Regional Online —— Warmup
http://acm.hdu.edu.cn/showproblem.php?pid=4715 Difference Between Primes Time Limit: 2000/1000 MS (J ...