TI CC2541的红外控制】的更多相关文章

整整一个礼拜, 整了...大约40个小时吧, 最少.. 下面是结果, 只能做一个delay延时.: unsigned char Time;unsigned char IrValue[6];#pragma vector = P0INT_VECTOR__interrupt void P0_ISR(void){    unsigned char j,k;    unsigned int err;    if(P0IFG & 2){      //如果中断标识符的确是P0_1        Time=0…
现在终于进入到蓝牙SPI的环节了, 下面还要研究I2C, 所以第一步, 先点灯, 就是GPIO控制吧. 参考一下LEd的初始化: void HalLedInit (void){#if (HAL_LED == TRUE)  HalLedSet(HAL_LED_ALL, HAL_LED_MODE_OFF);  // Initialize all LEDs to OFF.  // Set LED GPIOs to outputs.  LED1_DDR |= LED1_BV;#if (!defined…
本文从功能需求的角度分析一般蓝牙BLE单芯片的应用框架(SDK Framework)的接口设计过程,并以TI CC2541为例说明BLE的应用开发方法. 一.应用框架(Framework) 我们熟知的Framework包括Android Framework.Linux QT.Windows MFC.应用框架抽象并封装实现了一般应用场景的需求,完成应用开发的80%,剩下的20%则以回调(callback)和接口的方式供应用开发人员调用以完成具体的需求. 一般Framework完成的工作包括:任务分…
IAR 9+ 编译 TI CC2541 出现 Segment ISTACK (size: 0xc0 align: 0) is too long for segment definition. Segment ISTACK (size: 0xc0 align: 0) is too long for segment definition. 从讨论得知是IAR的配置问题 https://blog.csdn.net/zhangjs0322/article/details/34108663 用IAR 80…
昨天搞了控制LED,玩了第一个,剩下的就感觉很简单了,这里记录一下 先来几张照片 玩了蜂蜜模块才发现规律,一般这种模块,都会有三个针脚,VCC(3.3V或5V供电输出针脚).GNC(对应GPIO针脚的GNC).OUT/(I/O)(对应GPIO编号的针脚),如果是需要向树莓派发送信息的,这个模块上标识的是OUT,例如这里用的声音传感器和人体红外传感器,这两个都是需要向树莓派发送侦测的信息,如果不需要向树莓派发送消息的,则标识的是I/O,比如我这个蜂鸣模块,这只是我用这三个传感器发现的,可能不正确…
描写叙述 用于控制随意红外设备的Apple手表及iPhone应用. IOS应用发送HTTP请求至一个或多个带有以太网插板的Arduino.Arduino正在解析http请求并发送红外信号.Arduino代码基于IRremote库(https://github.com/shirriff/Arduino-IRremote).我使用三重红外发射线来给多个设备发送红外信号. 详述 遇到的问题: 我须要用5个不同的遥控器来控制我的媒体设备! 解决方式: 我构建了一个Apple 手表/iPhone 应用 及…
在Flash中有一块只读区域,从地址0x780E开始,蓝牙的MAC以小端方式存放在里面. 在TI的Peripheral例程里面,添加一个特征值,只读属性,6字节长度(蓝牙MAC长度为48-bit,6字节). 蓝牙的MAC是全球唯一的,一般情况下,固件的开发中不会去使用,但也不排除二般情况. #define X_DATA(addr) ((uint8 volatile __xdata *)0)[addr] uint8 CC254x_MAC[6] = {0,0,0,0,0,0}; void ReadM…
被突如其来的一个bug困扰了好几天, 起因是, 按键接的红外接收器, 结果发现, 一旦按下之后, IEN1, P0IE的标识位bit5, 被不知道特么的谁归0了, 也就是说, 按键只能被按下一次, 再按就不进中断了.…
1. App端会发送一定数量的byte过来蓝牙, 每2个byte是一个汉字的编码. 2. 拿到汉字编码之后, 统计字符数量, 然后通过SPI, 搜索编码 3. 收到的编码, 每个汉字字符有32个byte, 如果一句话有30个汉字, 及960个byte,乘以8, 就是7680, 大约8K, 24C08? 4. 将查到的编码, 用I2C写入到24C0x中. 5. 利用红外遥控器, 将读到的所有的编码显示出来->>滚动显示…
实际看到的中断优先级设置是这样的:…
P1SEL寄存器, 0xF4, 功能选择用的, 0表示GPIO口, 1表示外设.…
参考这个博客: http://blog.csdn.net/feilusia/article/details/48235691 值得注意是, 测试前, 在手机中先取消对原有的设备的配对.…
http://blog.csdn.net/feilusia/article/details/47431659 基本上看上面这个博客的. 重点是: 1. 关闭流控, 在npi.h里面, 将 #define NPI_UART_FC                    FALSE 设置成FALSE就行. 2. 在IAR的编译处理里面, 将HAL_UART=TRUE加进去, 同时确定没有POWER_SAVE…
这是一篇阐述怎样对嵌入式SOC外部中断进行控制编程的方法论文章.希望读者理解本篇文章后.能够具备对市场上全部已经面世和将来面世的嵌入式芯片的外部中断进行控制编程的能力. 笔者原创的技术分享一直都恪守下面原则: 从需求的角度去理解嵌入式各种软件和硬件模块的作用和组成.并从芯片系统设计的角度去阐述怎样进行控制编程. 前者对于理解复杂的系统(如linux的各个子系统)是非常有效的:后者所讲的是代表一个芯片设计project师的视觉,芯片模块由他负责设计,他对于该模块的控制编程自然是最有发言权的. 笔者…
正文之前 由于最近忙于复习赶考,所以暂时没有拿起树莓派小车,直到昨天,终于空出时间来把代码整理一下来和大家分享. 正文 在树莓派小车系列之二中,讲到了树莓派的引脚定义方式有两种: PHYSICAL NUMBERING GPIO NUMBERING 我采用的是第二种方式. 开始写 1. 导入库 import RPi.GPIO as GPIO import time 2. 定义接口方式以及接口位置 GPIO.setmode(GPIO.BCM) IN1 = 17 IN2 = 18 IN3 = 27 I…
转载请注明文章来源,更多教程可自助参考docs.tpyboard.com,QQ技术交流群:157816561,公众号:MicroPython玩家汇 红外解码/编码模块介绍 模块上搭载了红外接收头.红外发射器以及编码芯片.主要功能: 1.具备红外发射功能. 2.具备红外编码功能. 3.带红外发射头扩展接口. 4.具备串口通信功能,通信电平为TTL. 5.可控制红外格式设备,包括电视机.电风扇等电子电器设备. 6.支持编码芯片 7.可作为红外无线数据通信.数据传输.红外控制等功能 该模块使用方法非常…
项目介绍 ML-L3是用于尼康部分型号相机的无线红外遥控器,可以通过红外方式来控制快门的释放,支持B门拍摄.官方售价100RMB左右,山寨版售价10RMB左右.虽然也能实现基本的遥控功能,但是功能还是比较单一,如不能实现定时拍摄,即用来拍摄制作延时视频的素材.本篇文章介绍如何通过Arduino.MCU或FPGA来控制红外发射器,产生快门指令从而实现无线遥控快门的功能. 拆解ML-L3遥控器 为了实现ML-L3遥控器的功能,我们首先要了解无线遥控器的原理.当然最好的方式就是拆解一个ML-L3,然后…
蓝牙接收苹果手机通知 ANCS协议分析 转载,请注明出处:http://www.cnblogs.com/alexcai/p/4321514.html 综述 现在有许多蓝牙手表.手环都能接收苹果iphone手机的系统通知,那这是怎么实现的呢? 其实,这都有赖于苹果IOS 7开始提供的ANCS协议,ANCS(苹果通知中心, Apple Notification Center Service)的目的是提供给蓝牙外设一种简单.方便的获取ios设备通知信息的方式.使得蓝牙手环.手表可以收到苹果手机的来电.…
(本文均出于个人理解而写,仅用于学习和交流,某些过程可能不一定正确,希望各位提出意见进行交流,共同进步) TI的参考方案是采用AFE4300芯片 同时进行生物阻抗身体成分测量和体重测量,以MSP430F5528 微控制器用于保留校准数据并计算重量.TBW.ECW 以及身体成分分析,采用 TI CC2541 的 BLE 模块连接.因为我们没有MSP430,所以我们没有直接套用他的方案,我们主处理器采用的是STM32(仅用来实验). AFE4300简介 AFE4300 是一款低成本模拟前端, 此模拟…
------ 总线上先添加好所有具体驱动,i2c.c遍历i2c_boardinfo链表,依次建立i2c_client, 并对每一个i2c_client与所有这个线上的驱动匹配,匹配上,就调用这个驱动的i2c_xxx_probe  ------ 所有设备驱动在init函数里,一般只做注册平台驱动的动作,注意不是平台设备.以i2c.c为例,这个驱动的平台probe函数里做的事情比较多.因为i2c_boardinfo早已在具体驱动注册到链表,i2c.c的平台驱动就是要把每一个i2c_boardinfo…
第一步:获取破解license 1: 点击桌面左下角“开始”按钮,找到cmd.exe,右键创建cmd.exe 快捷方式到桌面: ————如果是windows7 ,请右键点击cmd.exe 快捷图标,点击“以管理员身份运行”,弹出提示“您要允许以下程序对此计算机进行更改吗?”,点击“是”启动DOS ————如果是windows XP ,直接双击cmd.exe  既可启动DOS 运行环境(若不懂DOS命令,请加QQ群235201063) 启动DOS环境 如下: 2:用DOS命令,切换到下面目录..\…
1) 中断源 STC12C5A60S2共有十个中断源,每个中断源可设置4类优先级:当相同优先级下各中断优先级由高到低依次如下: 1.1)INT0(外部中断0) 中断向量地址 0003H, C语言编程:void Int0_Routeine(void)  interrupt0,中断请求标志位:IE0,中断允许控制位:EX0 1.2)T0(T0溢出中断)中断向量地址 000BH,C语言编程:void Timer0_Rountine(void) interrupt1,中断请求标志位:TF0,中断允许控制…
事件分类:晃动.触摸.远程控制(如遥控器.红外控制) 触摸开始时候的方法(判断单击,双击,三击事件可以写在这里) -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{} //触摸开始时候的方法 () -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ NSLog(@"触摸开始"); //点击的时候随机改变背景颜色 // [self c…
DA14580是Dialog公司研制的蓝牙单芯片,号称全球功耗最低,是TI CC2541的四分之一,是运动手环等穿戴类电子产品的常用芯片.但是DA14580的开发门槛不低,适合有蓝牙开发经验的团队来开发,不适合学习爱好者,在网络上搜索DA14580相关的开发文章,基本上都是对官方仅有的几篇文档进行简单翻译,还不如直接阅读英文原文.笔者将对DA14580的系统架构和应用开发框架进行分析,之后再讲解如何进行应用开发. 对于蓝牙单芯片应用开发来说,我们要关注的问题是:蓝牙协议栈方面如何新增一个GATT…
近期智能家居比較火,将房子简单改造下,也算体验智能家居. 本文解说的是用无线的方式,长处是:不用改造现有线路,直接安装模块就可以实现想要的功能,花的钱也较少,共六百左右 =======================正文開始切割线======================== 一.终于要实现的效果: 用智能手机能够控制家中的电视.空调.灯光.窗帘.热水器.电饭煲 实现上述功能,大概费用几百块钱左右 二.详细的实现过程 总体流程:A------>B------>C 1.这里A表示手机,须要是智…
BLE 空中升级谈 -- CC2541 的产品开发中OAD注意事项(续) TI CC2541支持多个硬件,多个软件对它进行空中升级,可以有不同的组合,硬件有 编号 名称 Hex 用法 1 Cc2540 dongle CC2540_USBdongle_HostTestRelease_All.hex 直接插在电脑上使用,驱动程序是ccxxxx_usb_cdc,usb作为CDC串口使用. 2 Cc2541 module CC2541_SmartRF_HostTestRelease_All.hex 需要…
crystal-less 无晶振 USB  FS(Full-speed)此外还有High-speed接口(简称HS),Low-speed接口(简称LS) frequency频率 CRC(Cyclic Redundancy Check) calculation unit  循环冗余校验计算单元 standby模式:待机模式的意思 backup备份 crystal oscillator晶振 calibration校准 option选项 automatic trimming自动微调  trim修整的意…
一.红外协议之NEC协议原理 NEC协议格式: 首次发送的是9ms的高电平脉冲,其后是4.5ms的低电平,接下来就是8bit的地址码(从低有效位开始发),而后是8bit的地址码的反码(主要是用于校验是否出错).然后是8bit 的命令码(也是从低有效位开始发),而后也是8bit 的命令码的反码. /* 以脉宽为低电平0.565ms.间隔高电平0.56ms.周期为1.125ms的组合表示"0"; */ /* 以脉宽为低电平0.565ms.间隔高电平1.685ms.周期为2.25ms的组合表…
最近在司徒正美的<javascript框架设计>,在里面发现了一个段代码 ...... var _len = arr1.length; while (_len) { arr2[--_len] = arr1[_len]; } ...... 这是一个数组间赋值的操作,咋一看,之前还没碰到这样的写法.平时我个人都是这样写的. function assignment2(arr1, arr2) { for (var i = 0,_len = arr1.length; i < _len; i++)…