三木社区

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 330|回复: 0
打印 上一主题 下一主题

buzzer-buzzer.c源码分析

[复制链接]

1657

主题

1684

帖子

5684

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5684
跳转到指定楼层
楼主
发表于 2017-6-12 14:02:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
文件名称:buzzer.c文件路径:contiki-3.0\examples\sm14z2538\buzzer
文件结构:
  1. buzzer.c   主要功能实现
  2. Makefile  编译规则文件
  3. Makefile.target  平台配置文件
复制代码
测试硬件平台:SM14Z2538DK1
源码分析:
1.contiki系统api定义
  1. #include "contiki.h"
复制代码
2.蜂鸣器驱动api文件
  1. #include "dev/buzzer-arch.h"
复制代码
3.声明一个进程
  1. PROCESS(buzzer_process, "Buzzer");
复制代码
4.自动启动蜂鸣器进程
  1. AUTOSTART_PROCESSES(&buzzer_process);
复制代码
5.蜂鸣器进程实现,具体 用法参考blink源码分析。
  1. /*---------------------------------------------------------------------------*/
  2. PROCESS_THREAD(buzzer_process, ev, data)
  3. {
  4.   buzzer_init();
  5.   PROCESS_EXITHANDLER(beep_off(););
  6.   PROCESS_BEGIN();

  7.   static struct etimer et;
  8.   etimer_set(&et, CLOCK_SECOND/4);

  9.   while(1) {
  10.     PROCESS_WAIT_EVENT_UNTIL(etimer_expired(&et));
  11.     etimer_reset(&et);
  12.     beep_on();

  13.     PROCESS_WAIT_EVENT_UNTIL(etimer_expired(&et));
  14.     etimer_reset(&et);
  15.     beep_off();
  16.   }

  17.   PROCESS_END();
  18.   /*测试*/
  19. }
复制代码


回复

使用道具 举报

Archiver|手机版|小黑屋|三木电子社区 ( 辽ICP备11000133号-4 )

辽公网安备 21021702000620号

GMT+8, 2026-3-13 00:02 , Processed in 0.023977 second(s), 22 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表