IIC静默模式下读取数据
来源:互联网 发布:淘宝店铺分为几种类型 编辑:程序博客网 时间:2024/06/05 15:21
说明:
这个文件只是个头文件,是用于IIC静默模式下,读取所有IIC数据,然后通过串口转发用于显示。
还必须配合IIC_Recv.lib文件才能使用,有兴趣的话可以联系提供该LIB文件。
提供了详细的调用说明。
IIC静默模式:类似于IIC从模式,但是不过滤地址,不返回ACK,按字节接收所有数据,并转发到串口。
/****************************Copyright (c)*********************************************
**--------------文件信息--------------------------------------------------------------** 文 件 名: IIC_Recv.h
** 创 建 人: WEN (wenshijian4@163.com,QQ214490357)
** 创建日期: 2015年9月16日
** 描 述: IIC靜默模式下,接收所有IIC數據,并轉發到串口;只读IIC数据
**---------- 版本信息------------------------------------------------------------------
** 版 本: V2.92
** 说 明: IIC_Recv.c的头文件
**-------------------------------------------------------------------------------------
**************************************************************************************/
/****************************************************************************************
//請根據以下4個步驟,在程序對應位置修改IO口的配置以及中斷!!
//1.定義SCL,SDA,INT
#define PA4_SDA GPIO_Pin_4
#define PA5_INT GPIO_Pin_5
#define PA6_SCL GPIO_Pin_6
//---以下三個宏定義需要根據不同的硬件來修改,但是名字不能修改
#define Read_SDAGPIO_ReadInputDataBit(GPIOA, PA4_SDA)
#define Read_INTGPIO_ReadInputDataBit(GPIOA, PA5_INT)
#define Read_SCLGPIO_ReadInputDataBit(GPIOA, PA6_SCL)
//---注意:Read_SDA、Read_INT、Read_SCL爲關鍵字,不能改變,否則出錯!!!!
//2.三個引脚都必須定義爲IPU,根據硬件修改
GPIO_InitStructure.GPIO_Pin = PA4_SDA|PA5_INT|PA6_SCL;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
GPIO_Init(GPIOA, &GPIO_InitStructure);
//3.必須使能INT中斷,上下邊沿 ,根據硬件修改
GPIO_EXTILineConfig(GPIO_PortSourceGPIOA, GPIO_PinSource5);
EXTI_ClearITPendingBit(EXTI_Line5);
EXTI_InitStructure.EXTI_Line = EXTI_Line5;
EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising_Falling;
EXTI_InitStructure.EXTI_LineCmd =ENABLE;
EXTI_Init(&EXTI_InitStructure);
//4.開啓中斷,根據硬件修改
NVIC_InitStructure.NVIC_IRQChannel = EXTI9_5_IRQChannel;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority= 0;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
****************************************************************************************/
#include "app_cfg.h"
/****************************************************************************************
** 函数名称: IIC_ReadData
** 功能描述: 读取IIC数据,并返回数据长度及数据内容
** 参 数: *IIC_Recv :指向用于接收IIC数据的数组,
** 返 回 值: 接收到的数据长度(以字节为单位)
** 日 期: 2015年4月17日
**---------------------------------------------------------------------------------------
** 調用方式:
** 説 明:
**--------------------------------------------------------------------------------------
****************************************************************************************/
unsigned int IIC_ReadData(unsigned char *IIC_Recv);
/****************************************************************************************
//代碼調用過程 實例
unsigned int IIC_DataLens;
unsigned char IIC_Data[100];//這個數組應該定義大點,怕溢出 應該>50
void EXTI9_5_IRQHandler(void)
{
//根據上升沿、下降沿來判斷是否讀IIC數據
IIC_DataLens=IIC_ReadData(IIC_Data);
}
*****************************************IIC_Recv.h文件结束***********************************************/
/*******************************************以下是通过这个函数读取的 原车屏IIC触摸数据*************************************************
--------------------------IIC分析仪 IIC静音模式------------------
IIC数据定义:
B8:物理地址+写
B9:物理地址+读
B8 20 B9 X1 Y1 X2 Y2 00 00 00 00
| | | |第二触摸点Y坐标
| | |第二触摸点X坐标
| |第一触摸点Y坐标
|第一触摸点X坐标
1.每次触摸最少三个数据,与触摸屏接触时间越长,则发出的数据越多;
2.触摸弹起:坐标全为0;
3.各类手势:发出手势经过的X,Y坐标点;
4.所有帧间隔:32ms;
5.忽略ACK/NAK.
----------------------电容屏IIC触摸数据-------------------------
B8 20 B9 F6 13 00 00 00 00 00 00 //单点触摸 短按,约0.4S
B8 20 B9 F6 13 00 00 00 00 00 00 //间隔32ms
B8 20 B9 F6 13 00 00 00 00 00 00
B8 20 B9 F6 13 00 00 00 00 00 00
B8 20 B9 00 00 00 00 00 00 00 00 //弹起
B8 20 B9 AE 5D 00 00 00 00 00 00 //单点触摸 长按约1S
B8 20 B9 AE 5D 00 00 00 00 00 00
B8 20 B9 AE 5D 00 00 00 00 00 00
B8 20 B9 AE 5D 00 00 00 00 00 00
B8 20 B9 AE 5D 00 00 00 00 00 00
B8 20 B9 AE 5D 00 00 00 00 00 00
B8 20 B9 00 00 00 00 00 00 00 00 //弹起
B8 20 B9 07 02 00 00 00 00 00 00 //单点触摸 快速短按,约0.1S,最短
B8 20 B9 07 02 00 00 00 00 00 00 //间隔32ms
B8 20 B9 00 00 00 00 00 00 00 00 //弹起
B8 20 B9 BB 85 00 00 00 00 00 00 //两点触摸
B8 20 B9 BB 85 A0 3B 00 00 00 00 //两点触摸
B8 20 B9 BB 85 A0 3B 00 00 00 00
B8 20 B9 BB 85 A0 3B 00 00 00 00
B8 20 B9 00 00 00 00 00 00 00 00 //弹起
B8 20 B9 C1 4D 00 00 00 00 00 00 //单点手势
B8 20 B9 C1 4D 00 00 00 00 00 00
B8 20 B9 C1 4D 00 00 00 00 00 00
B8 20 B9 B8 54 00 00 00 00 00 00
B8 20 B9 AE 5D 00 00 00 00 00 00
B8 20 B9 A6 67 00 00 00 00 00 00
B8 20 B9 9C 73 00 00 00 00 00 00
B8 20 B9 92 7C 00 00 00 00 00 00
B8 20 B9 89 85 00 00 00 00 00 00
B8 20 B9 81 8C 00 00 00 00 00 00
B8 20 B9 7B 91 00 00 00 00 00 00
B8 20 B9 78 95 00 00 00 00 00 00
B8 20 B9 77 96 00 00 00 00 00 00
B8 20 B9 00 00 00 00 00 00 00 00 //弹起
B8 20 B9 E3 69 00 00 00 00 00 00 //两点手势
B8 20 B9 E3 69 D2 2E 00 00 00 00 //两点手势
B8 20 B9 E3 69 D2 2E 00 00 00 00
B8 20 B9 E3 69 D2 2E 00 00 00 00
B8 20 B9 E3 69 D2 2E 00 00 00 00
B8 20 B9 DA 72 CA 35 00 00 00 00
B8 20 B9 D5 78 C5 3A 00 00 00 00
B8 20 B9 CF 7E C0 3F 00 00 00 00
B8 20 B9 C8 83 BB 44 00 00 00 00
B8 20 B9 C2 88 B4 49 00 00 00 00
B8 20 B9 BB 8D AD 4E 00 00 00 00
B8 20 B9 B4 92 A6 52 00 00 00 00
B8 20 B9 AD 97 A0 57 00 00 00 00
B8 20 B9 A6 9D 99 5B 00 00 00 00
B8 20 B9 9F A2 92 60 00 00 00 00
B8 20 B9 98 A7 8C 65 00 00 00 00
B8 20 B9 91 AC 86 69 00 00 00 00
B8 20 B9 8A AF 7E 6D 00 00 00 00
B8 20 B9 83 B3 78 71 00 00 00 00
B8 20 B9 7D B7 72 74 00 00 00 00
B8 20 B9 7A B9 6E 77 00 00 00 00
B8 20 B9 77 BB 6B 79 00 00 00 00
B8 20 B9 00 00 00 00 00 00 00 00 //弹起
- IIC静默模式下读取数据
- IIC_Recv如何在IIC静默模式下读取IIC总线数据
- STM32 模拟IIC主设备 非IIC静默模式
- BQ27510模拟IIC读取数据详解
- 静默模式下的rac部署安装
- arduino中用IIC读取MMA8452三轴加速度模块数据
- IIC读取AT24C256数据出现的问题及解析
- 【STM32 IIC详解】stm32 IIC从机模式(中断方式收发数据)
- IIC多字节读取
- weblogic静默模式启动
- 使用STM32CubeMX对SHT20温度湿度传感器每秒进行一次数据读取(硬件IIC)
- WINDOWS 下静默安装 与 静默卸载
- Linux IIC框架(下)
- 读取文件夹下的数据
- IIC总线NOT burst模式
- ubuntu oracle10g 静默模式安装
- Oracle数据库静默模式小节
- FL2440下的IIC实验
- 使用SVG图片格式
- java设计模式之装饰模式代理模式区别
- javascript生成1、2、3、4的三位随机数
- CSS 加载新方式
- win8.1 opnet14.5 一段时间后不用license老是失效解决方法
- IIC静默模式下读取数据
- 使用 Docker 搭建 JavaWeb环境(Tomcat,jdk)
- nchan-nginx
- spring中context:property-placeholder/元素
- handler的post 方法
- 如何在mac上搭建cocos2d 环境
- Android 5.0 Camera2新接口
- windows7中文企业版安装英文语言包
- 利用VBA对提取excel中字母、数字进行提取