2、CC2541芯片中级教程-OSAL操作系统(进一步了解-OLED && 普通按键和5方向按键-中断!!!)这个系统驱动层和应用层不一样~
本文根据一周CC2541笔记汇总得来——
适合概览和知识快速索引——
全部链接:
中级教程-OSAL操作系统\OSAL操作系统-实验01 OSAL初探
中级教程-OSAL操作系统(进一步了解-OLED && 普通按键和5方向按键-中断!!!)这个系统驱动层和应用层不一样~
OSAL操作系统-实验20 模拟IIC通信+硬件IIC(Mpu6050)
一、OLED
二、OSAL 操作系统-实验 11 普通按键

❤ 在 Hal_key.c (ble-cc254x-1.3.2-osal\components\hal\target\cc2540eb) 中, 是 osal 的按键
驱动文件, 主要是实现按键的初始化与中断服务函数, 里边也包含5 向按键的驱动, 5 向
按键与 s1 按键相比, 多了一个 adc 采样, 5 向按键, 实际上是先触发一个按键中断, 然后,
再进行 adc 采样, 每个方向的按键被按下后, 由于分压不一样, 因此 adc 数值也就不一样,
这样就能区分不同的按键了。
Hal_key.c (ble-cc254x-1.3.2-osal\components\hal\target\cc2540eb)
S1 按键的 io 定义如下:





- 上面是按键事件检测
- 下面是按键事件传输到应用层处理
Hal_drivers.c (ble-cc254x-1.3.2-osal\components\hal\common)


216 行, 就是按键中断并延时去抖动后的查询函数调用


同时注意到一点:notify(下面代码);不采用中断时用来标记当前按键状态是否转变,采用中断时也要根据keys的值相应设置


数, 其实,按键释放的时候也都有一个按键消息送上来,方便我们对按键状态做判断。而
SimpleBLETest_ProcessEvent 这个函数,就是在我们的应用层里的。至此,按键流程分析
完毕。
simpleBLETest.c
- 初始化注册按键事件





IO定义:





在应用层中OSAL_SimpleBLETest.c:

总之, 只要有按键按下,就会执行 SimpleBLETest_ProcessEvent 这个函数, 其实,按键释放的时候也都有一个按键消息送上来,方便我们对按键状态做判断。而SimpleBLETest_ProcessEvent 这个函数,就是在我们的应用层里的。至此,按键流程分析完毕。
应用层类似于key1,注册+事件处理(参考上面)
未完~关注我的cc2541分类
2、CC2541芯片中级教程-OSAL操作系统(进一步了解-OLED && 普通按键和5方向按键-中断!!!)这个系统驱动层和应用层不一样~的更多相关文章
- 5、CC2541芯片中级教程-OSAL操作系统(PWM+看门狗)
本文根据一周CC2541笔记汇总得来—— 适合概览和知识快速索引—— 全部链接: 中级教程-OSAL操作系统\OSAL操作系统-实验01 OSAL初探 [插入]SourceInsight-工程建立方法 ...
- 4、CC2541芯片中级教程-OSAL操作系统(简单AT指令实现+IIC软件和硬件实现驱动MPU6050)
本文根据一周CC2541笔记汇总得来—— 适合概览和知识快速索引—— 全部链接: 中级教程-OSAL操作系统\OSAL操作系统-实验01 OSAL初探 [插入]SourceInsight-工程建立方法 ...
- 3、CC2541芯片中级教程-OSAL操作系统(ADC光敏电阻和修改串口波特率)
本文根据一周CC2541笔记汇总得来—— 适合概览和知识快速索引—— 全部链接: 中级教程-OSAL操作系统\OSAL操作系统-实验01 OSAL初探 [插入]SourceInsight-工程建立方法 ...
- 1、CC2541蓝牙4.0芯片中级教程——基于OSAL操作系统的运行流程了解+定时器和串口例程了解
本文根据一周CC2541笔记汇总得来—— 适合概览和知识快速索引—— 全部链接: 中级教程-OSAL操作系统\OSAL操作系统-实验01 OSAL初探 [插入]SourceInsight-工程建立方法 ...
- STM32 OSAL操作系统抽象层的移植
文章目录 什么是 OSAL? 源码安装 Linux 上OSAL的移植 STM32上OSAL的移植 关键点 测试代码 结语 附件 什么是 OSAL? 今天同学忽然问我有没有搞过OSAL,忽然间一头雾水, ...
- 【SIKIA计划】_04_C#中级教程 (2015版)笔记
IKIC#中级教程 (2015版)正常模式指的是不会影响程序的正常运行.1,在VS中我们使用Console.Write(或者WriteLine)方法向控制台输出变量的值,通过这个我们可以查看变量的值是 ...
- PS教程:20个新鲜出炉的 Photoshop 中级教程
Photoshop 实例教程是提高 Photoshop 技能的最佳学习途径.今天,我向大家分享最新20个 Photoshop 进阶教程,提高你的图片处理技巧,制作时尚的效果.这些教程可以帮助把你的想法 ...
- 最适合入门的Laravel中级教程(二)用户认证
之前的初级教程主要是学习简单的增删改查: 接着的中级教程的目标是在初级教程的基础上能写出更复杂更健壮的程序: 我们先来学习 laravel 的用户认证功能: 在现代网站中基本都有用户系统: 而我们每开 ...
- 最适合入门的Laravel中级教程(一)
Laravel 是一个全栈框架: 我们使用 Laravel 开发业务常见有 3 个方向: 前端页面和后端逻辑混合的应用 主要是面向对 SEO 有需求的项目: 比如说新闻资讯博客文章等: 一般在控制器中 ...
随机推荐
- 转:eclipse以及step into step over step return的区别
首先来讲一下step into step over step return的区别: step into就是单步执行,遇到子函数就进入并且继续单步执行:(F5) step over是在单步执行时,在函数 ...
- Android Service完全解析,关于服务你所需知道的一切(下)
转载请注册出处:http://blog.csdn.net/guolin_blog/article/details/9797169 在上一篇文章中,我们学习了Android Service相关的许多重要 ...
- HTML5中新添加事件
HTML5中新添加了很多事件,但是由于他们的兼容问题不是很理想,应用实战性不是太强,所以在这里基本省略,咱们只分享应用广泛兼容不错的事件,日后随着兼容情况提升以后再陆续添加分享.今天为大家介绍的事件主 ...
- iOS 清除web cookies
NSHTTPCookie *cookie; NSHTTPCookieStorage *storage = [NSHTTPCookieStorage sharedHTTPCookieStorage]; ...
- HP iLo2 试用序列号
HP iLo2 试用序列号 2 条回复 32Q8W-GKHTR-NPDKY-5CD79-T525H hp的ilo2功能实在太有用了,不用往那个恶劣的机房跑了,系统重装也直接远程完成. 这个试用序列号用 ...
- iOS-详细解读Const
在过去开发中,几乎每一个人都会定义宏,因为这东西实在是好用,省去了代码量而且还不容易错,而我这篇文中所介绍的const可以完美替带宏定义. 并且苹果也建议大家抛弃宏定义而转投const ,并且swif ...
- RHEL6.5及Win7的和谐共处(投机版)
背景: 在Windows XP存在时,装了个RHEL6.5,用的是安装程序自带的Grub,后来将XP删除后重装了Windows7,RHEL的Grub被覆盖,启动不了RHEL了,于是补上RHEL的引导… ...
- 给VM中的RHEL6.5配置本地源
二步:1.启动时自动挂载安装盘:2.增加一个".repo"(或者改掉原来的源的配置p.s.除非你以后都不想用网络源或者已经知道如何更改源的配置,否则别改) 首先,在/media中创 ...
- test-output目录中找不到testng-fail.xml原因+Reportng+ant build.xml文件
test-output目录中找不到testng-fail.xml原因: 在没有加入Reportng 报告的相关jar包前,在test-output目录下是有testng-fail.xml,后面加入了R ...
- 两份div之间出现空隙的原因及解决方法
在一个div加有< ul><li> 因为ul有个默认的margin和padding值 如果该div中没有设边框 ul默认的值的就会对上一个div有影响 解决方法:将ul的 ...