精华内容
下载资源
问答
  • Buzzer-crx插件

    2021-04-05 19:09:04
    Buzzer:Chrome浏览器工具栏的最佳Buzzer按钮。 浏览器工具栏上的不同蜂鸣器按钮:red_circle:原始蜂鸣器声音(高品质):yellow_circle:新的蜂鸣器声音(仅用于娱乐和游戏)for快速响应以产生特殊的瞬间Add小插件-每...
  • A2Z Buzzer-crx插件

    2021-03-09 12:48:47
    A2Z Buzzer是一个在线新闻媒体网站,涵盖几乎所有内容的路口新闻 A2Z Buzzer-在线新闻媒体网站。 支持语言:English
  • 07_buzzer_pwm_test.zip

    2021-06-03 11:17:52
    07_buzzer_pwm_test.zip
  • 07_plus_buzzer_music.zip

    2021-06-03 11:17:29
    07_plus_buzzer_music.zip
  • 星球大战蜂鸣器 Tocando a marcha imperial de Star Wars em um buzzer com o Ardduino Uno 本事效用 1个Arduino Uno 1个蜂鸣器5V 1个原型板 1个电阻220Ω 跳线 Circuito:
  • SCHEMATIC DIAGRAM BUZZER CARD 电路图#10125624A00
  • MSP430F5529_Music_Buzzer
  • Flame_Sensor_and_buzzer.ino

    2021-05-11 22:02:59
    Flame_Sensor_and_buzzer.ino
  • 当在您设置的时间内未应答LiveChatInc / Zopim聊天时,DeskMoz的Chat Buzzer会生成聊天警报声音。 DeskMoz的“聊天蜂鸣器”应用程序可帮助LiveChat Inc和Zopim的用户按时应答聊天。 每当聊天操作员收到聊天并且在...
  • <div><p>This helps keeps our colleagues and loved ones sane while we are debugging and avoids the hassle of unplugging the buzzer.</p><p>该提问来源于开源项目:PX4/Firmware</p></div>
  • Buzzer 利用将一个主机名解析为多个 IP。 Go 中的net.Dial和net.DialTimeout仅尝试单个 IP 地址,如果不可用则失败。 Buzzer 会尝试所有这些,以确保您的应用程序具有高可用性和弹性。 用法 buzzer.Dial和buzzer....
  • Andorid Buzzer / Gameshow计时器 视频演示:/AndroidBuzzer/doc/AndroidBuzzerDemo.avi注意:视频捕获软件在android仿真器中引起了一些伪像 UML位置:/AndroidBuzzer/doc/Asst1UML.jpeg 源代码位置:/ ...
  • day30.buzzer蜂鸣器

    2018-02-28 20:25:46
    第30节:buzzer蜂鸣器1、编写编译运行测试root@ubuntu:/home/linuxsystemcode/buzzer# cat buzzer.c#include &lt;sys/types.h&gt;#include &lt;sys/stat.h&gt;#include &lt;fcntl.h&gt;#...
    第30节:buzzer蜂鸣器

    1、编写编译运行测试
    root@ubuntu:/home/linuxsystemcode/buzzer# cat buzzer.c
    #include <sys/types.h>
    #include <sys/stat.h>
    #include <fcntl.h>
    #include <stdio.h>
    #include <unistd.h>
    #include <string.h>
    #include <stdlib.h>

    #define BUZZER_C 2

    int main(int argc,char *argv[]){
            char *buzzer_ctl = "/dev/buzzer_ctl";

            int fd,ret,buzzer_c;

            buzzer_c = BUZZER_C;

            if(atoi(argv[1])>= buzzer_c){
                    printf("argv[1] is 0 or 1\n");
                    exit(1);
            }
            if((fd = open(buzzer_ctl,O_RDWR|O_NOCTTY|O_NDELAY))<0){
                    printf("open %s failed\n",buzzer_ctl);
                    exit(1);
            }
            ret = ioctl(fd,atoi(argv[1]),atoi(argv[2]));
            close(fd);
            return 0;
    }


    2、进行文件编译
    root@ubuntu:/home/linuxsystemcode/buzzer# arm-none-linux-gnueabi-gcc -o buzzer buzzer.c -static
    root@ubuntu:/home/linuxsystemcode/buzzer# ls
    buzzer  buzzer.c


    3、将文件拷贝到TF卡上,并传入开发板上运行结果
    Please press Enter to activate this console. 

    [root@iTOP-4412]# df
    Filesystem           1K-blocks      Used Available Use% Mounted on
    /dev/root               302360     14640    287720   5% /
    tmpfs                   307092         0    307092   0% /dev/shm
    [root@iTOP-4412]# mount /dev/mmcblk1p1 /mnt                                                                                                            
    [root@iTOP-4412]# cd /mnt
    [root@iTOP-4412]# ls
    System Volume Information  creat                      read
    argvc                      creat.c                    read.c
    argvc.c                    led                        write
    buzzer                     led.c                      write.c
    buzzer.c                   open

                                                                                                                             
    [root@iTOP-4412]# ./buzzer 0 1                                                                                                                         
    [  199.256459] itop4412_buzzer_ioctl: cmd = 0

    第1个0是蜂鸣器不响

    [root@iTOP-4412]# ./buzzer 1 1                                                                                                                         
    [  229.092276] itop4412_buzzer_ioctl: cmd = 1

    第1个1是蜂鸣器响
    展开全文
  • Android&Linux控制buzzer

    2020-02-23 20:18:06
    1. buzzer实验之APK测试 APK安装测试 注意硬件连接,参考开发板驱动入门之点亮一个灯 注意需要使用新版本的内核驱动 APK是AndroidPackage的缩写,即Android安装包(apk)。 测试步骤 PC上安装手机管家 启动开发板,...

    1. buzzer实验之APK测试

    • APK安装测试
      注意硬件连接,参考开发板驱动入门之点亮一个灯
      注意需要使用新版本的内核驱动
      APK是AndroidPackage的缩写,即Android安装包(apk)。
    • 测试步骤
      PC上安装应用宝管家
      启动开发板,开发板稳定后,连接OTG线(启动后无法连接热拔插一下)
      打开\我的手机\应用\我的应用\连接手机
      打开下载的buzzertestAndroid工程文件夹,进入\buzzertest\bin双击buzzertest.apk应用安装
      在这里插入图片描述
    • 如果升级失败,提示:apk应用程序文件认证不一致,无法安装,建议取消这个任务 可以先卸载应用

    2.buzzer实验平台介绍

    • Java(需要掌握一点Java的语言知识,类库的概念,面向对象的概念)
      Java是最接近自然语言的编程语言
      没有Java的知识,有C的基础,需要学习Java的面向对象概念
      百度java教程,推荐马士兵java视频教程,不要多看,看到常用类就可以不看了

    • Android(掌握基本的概念,布局管理器,基本组件,硬件抽象层等)
      熟悉Android开发环境的基本结构,库的调用
      百度android学习视频,轻松几步学Android开发

    3. 如何导入工程

    • File/Import
      选择Android工程(因为Eslipse支持很多中程序语言,当然也要下载相对应的包)
      Import Projects/Browse选择buzzer文件
      Finish

    4.Android程序activity_main.xml的分析

    • 打开工程文件res/layout/ activity_main.xml,这里可以切换到代码模式或者图形模式。
      代码可以看出Java是最接近自然语言的编程语言
    • activity(关键词Android四大组件)
      Activity是Android组件中最基本也是最为常见用的四大组件之一
      在这里插入图片描述
      android:id="@+id/button1": button1为身份表示
      android:layout : button位置
      android:text=“Start” />: text按钮显示内容

    5.Android程序MainActivity.java 分析

    • 打开工程src/com.topeet.buzzertest/ MainActivity.java/MainActivity
    package com.topeet.buzzertest;
    
    import android.os.Bundle;
    import android.app.Activity;
    import android.view.Menu;
    import android.widget.Button;
    import android.widget.EditText;
    import android.os.Handler;
    import android.view.KeyEvent;
    import android.view.View;
    import android.view.Window;
    import android.view.View.OnClickListener;
    
    class buzzer {
    	public native int       Open();
        public native int       Close();
        public native int       Ioctl(int num, int en);
    }
    
    public class MainActivity extends Activity {
    
    	/* add by cym 20140618 */
    	buzzer buzzer = new buzzer();
    	
    	private Button start;
    	private Button stop;
    	/* end add */
    	
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.activity_main);
    		
    		/* add by cym 20140618 */
    		start = (Button)findViewById(R.id.button1);
    		stop = (Button)findViewById(R.id.button2);
    		
    		buzzer.Open();
    		
    		start.setOnClickListener(new manager());
    		stop.setOnClickListener(new manager());
    		/* end add */
    	}
    	
    	class manager implements OnClickListener{
    		public void onClick(View v) {
    			switch (v.getId()) {
    			case R.id.button1:
    				buzzer.Ioctl(0, 1);
    				break;
    			case R.id.button2:
    				buzzer.Ioctl(0, 0);
    				break;
    			}
    		}
    	}
    
    
    	@Override
    	public boolean onCreateOptionsMenu(Menu menu) {
    		// Inflate the menu; this adds items to the action bar if it is present.
    		getMenuInflater().inflate(R.menu.main, menu);
    		return true;
    	}
    
    	/* add by cym 20140617 */
    	static {
            System.loadLibrary("buzzer");
    	}
    	/* end add */
    }
    
    
    • src/MainActivity.java
      这是主程序程序的入口

    • package com.topeet.buzzertest;
      将程序打包,封装成类

    • import android.os.Bundle;
      每个extends 了Activity的类中 oncreat方法都需要传递一个bundle 参数

    • class buzzer
      定义buzzer类,要和硬件抽象层联系到一起,在Java中,native表示一个方法只可以调用不能编写

    • public class MainActivity extends Activity
      定义MainActivity 类

    • buzzer buzzer = new buzzer()
      new一个buzzer

    • private Button start
      “定义局部变量”
      private 局部有效

    • onCreate
      OnCreate是Andorid中的一个特别的函数,来“表示一个窗口正在生成”
      对应import android.os.Bundle

    • super.onCreate(savedInstanceState)

    • setContentView(R.layout.activity_main)
      activity_main就是当前项目res下的layout里的activity_main.xml文件
      setContentView就是设置当前的Activity显示的内容按activity_main.xml布局。super.onCreate(savedInstanceState)就是调用父类的onCreate构造函数,savedInstanceState是保存当前Activity的状态信息。

    • start = (Button)findViewById(R.id.button1)
      android 的用户界面一般使用xml文件做的,对应的xml文件在layout包下如果xml里放了个按钮什么的,在activity中要获取该按钮就用 findViewById(R.id.xml文件中对应的id)

    • buzzer.Open()
      打开
      在JAVA中 native关键字表示一个方法只可以调用,但是不能编写!

    • start.setOnClickListener(new manager())
      将这个内部类的对象传入按钮的setOnClickListener方法中,监听,回调

    • class manager implements OnClickListener
      你创建的一个名为manager的类实现一个叫做OnClickListener的接口

    • public void onClick(View v)
      触发事件

    • public boolean onCreateOptionsMenu(Menu menu)
      创建菜单

    • System.loadLibrary
      调用JNI/lib中的libbuzzer.so文件

    • Android硬件抽象层
      Android的硬件抽象层,简单来说,就是对Linux内核驱动程序的封装,向上提供接口,屏蔽底层的实现细节

    6. 硬件抽象层在哪个地方呢

    • 进入JNI中的.c文件
    #include <stdio.h>
    #include <stdlib.h>
    #include <fcntl.h>
    #include <errno.h>
    #include <unistd.h>
    #include <sys/types.h>
    #include <sys/stat.h>
    #include <string.h>
    #include <stdint.h>
    #include <termios.h>
    #include <android/log.h>
    #include <sys/ioctl.h>
    #include "com_topeet_buzzertest_buzzer.h"
    
    #undef  TCSAFLUSH
    #define TCSAFLUSH  TCSETSF
    #ifndef _TERMIOS_H_
    #define _TERMIOS_H_
    #endif
    
    int fd=0;
    
    /*
     * Class:     com_topeet_buzzertest_buzzer
     * Method:    Open
     * Signature: ()I
     */
    JNIEXPORT jint JNICALL Java_com_topeet_buzzertest_buzzer_Open
      (JNIEnv *env, jobject obj)
      {
    	if(fd<=0)fd = open("/dev/buzzer_ctl", O_RDWR|O_NDELAY|O_NOCTTY);
    	if(fd <=0 )__android_log_print(ANDROID_LOG_INFO, "serial", "open /dev/buzzer_ctl Error");
    	else __android_log_print(ANDROID_LOG_INFO, "serial", "open /dev/buzzer_ctl Sucess fd=%d",fd);
      }
    
    /*
     * Class:     com_topeet_buzzertest_buzzer
     * Method:    Close
     * Signature: ()I
     */
    JNIEXPORT jint JNICALL Java_com_topeet_buzzertest_buzzer_Close
      (JNIEnv *env, jobject obj)
      {
    	if(fd > 0)close(fd);
      }
    
    /*
     * Class:     com_topeet_buzzertest_buzzer
     * Method:    Ioctl
     * Signature: ()I
     */
    JNIEXPORT jint JNICALL Java_com_topeet_buzzertest_buzzer_Ioctl
      (JNIEnv *env, jobject obj, jint num, jint en)
      {
      	ioctl(fd, en, num);
      }
    
    • JNIEXPORT
      在Jni编程中所有本地语言实现Jni接口的方法前面都有一个"JNIEXPORT",这个可以看做是Jni的一个标志

    • jint
      可以传递数值

    • JNICALL
      可以理解为Jni 和Call两个部分,和起来的意思就是 Jni调用XXX(后面的XXX就是JAVA的方法名)。

    • Java_com_topeet_buzzertest_buzzer_Open

    • Java_com_topeet_buzzertest_buzzer_Close

    • Java_com_topeet_buzzertest_buzzer_Ioctl
      在这里插入图片描述
      Java_com_topeet对应mainactivity中的com.topeet.buzzertest
      buzzer对应其中的class buzzer
      Open,Close,Ioctl对应buzzer中的操作
      我们在MainActivity.java中操作open,close等函数时,因为有调用so库,对应的就会调用JNI文件中的本地方法,对应的方法名,Java+(mainactivity的包名)+类名+本地方法名

    • JNIEnv env, jobject obj
      Android通过这两个参数调用该文件中的操作
      jint num, jint en 表示传输的数值

    展开全文
  • ch2 gpio应用:Buzzer封装

    2017-06-14 10:55:03
    Buzzer封装: 蜂鸣器是GPIO的一个典型应用,下面我们利用C++语言的继承机制完成对Buzzer类的封装,Buzzer类继承自CGpio类,CGpio类的具体实现参考:ch1 gpio封装 亮一张蜂鸣器的电路吧O(∩_∩)O! ...

    Buzzer封装:

    蜂鸣器是GPIO的一个典型应用,下面我们利用C++语言的继承机制完成对Buzzer类的封装,Buzzer类继承自CGpio类,CGpio类的具体实现参考:ch1 gpio封装
    亮一张蜂鸣器的电路吧O(∩_∩)O!


    Buzzer调用效果:

    具体实现:





    展开全文
  • S5PV210 buzzer驱动

    2019-10-06 21:57:07
    我们buzzer的驱动,我们是基于杂项类设备驱动 杂项类设备驱动框架:misc.c文件,里面做了这些事: 1.class_create(THIS_MODULE, “misc”); 在/sys/class 下面创建了misc类 2.register_chrdev(MISC_MAJOR,“misc”,...

    我们buzzer的驱动,我们是基于杂项类设备驱动


    杂项类设备驱动框架:misc.c文件,里面做了这些事:
    1.class_create(THIS_MODULE, “misc”); 在/sys/class 下面创建了misc类
    2.register_chrdev(MISC_MAJOR,“misc”,&misc_fops) 注册字符设备驱动,主设备号是10
    3.提供杂项类设备的注册/注销方法misc_register/misc_deregister


    buzzer驱动:
    1.init_MUTEX(&lock); 初始化信号量
    2.misc_register(&misc); 注册杂项类设备驱动,需要自己定义如下的结构体:

    static struct file_operations dev_fops = {
        .owner   =   THIS_MODULE,
        .open    =   x210_pwm_open,
        .release =   x210_pwm_close, 
        .ioctl   =   x210_pwm_ioctl, };
    
    static struct miscdevice misc = { 	
    .minor = MISC_DYNAMIC_MINOR, 	
    .name= DEVICE_NAME, 	
    .fops = &dev_fops, };
    

    3.gpio_request(S5PV210_GPD0(2), “GPD0”); 申请与buzzer相连接的gpio的使用权限
    4.申请到gpio的使用权限之后,对gpio进行相关的操作,GPIO相关操作:
    <1>申请gpio,设置上拉
    <2>设置输出模式,输出0
    5.open函数和close函数里面用了一个信号量,保证这个设备节点只能被一个进程打开
    6.ioctl函数里面实现了 pwm_set_freq 和 pwm_stop两个函数
    7.pwm_stop 函数就是把gpio改为了input模式


    pwm设置频率,这个比较重要:
    8.pwm_set_freq
    <1>首先把gpio设置为了 pwm输出模式
    <2>设置PRESCALER和MUX都为1/16, 相当于用pclk/16/16,所以我们控制单元的时钟就是pclk/16/16, f = 1 / t, 那么t_con = 1 / (pclk/16/16)
    <3>我们TCNT寄存器里面的值的减少,是以t_con为基准的,例如我们TCNT的值是100,那么TCNT减少到0就是一个周期,这个周期t = t_con x 100, 那么f = 1 / (t_con x 100)
    <4>这里我们假设:TCNT = n, 那么这个n减少到0所用的时间 T=t_con x n, 那么频率
    f = 1 / (t_con x n), 所以 n = 1 / (f x (1 / (pclk/16/16)) )
    所以n x (1 / (pclk/16/16) = 1 / f
    n = (pclk/16/16) / f, 所以这里我们设置频率为f_set的时候,TCNT就是这样算出来的
    <5>TCNT的值是控制我们的周期的,TCMP的值是设置占空比的。TCNT寄存器只是设置cnt值的,
    最后是TCNTB里面的值–。TCNTB里面的值是TCNT刷进去的。一般情况下当TCNTB的值大于 TCMP的时候,输出的信号是高电平,反之,则为低电平。
    <6>打开自动刷新,关闭翻转(电平的翻转),手动刷新TCNT和TCMP寄存器到TCNTB和TCMPB中, 打开定时器
    <7>关闭手动刷新,第一次需要手动刷新值到TCNTB和TCMPB寄存器中,之后就不需要了

    static void PWM_Set_Freq( unsigned long freq )
    {
    	unsigned long tcon;
    	unsigned long tcnt;
    	unsigned long tcfg1;
    
    	struct clk *clk_p;
    	unsigned long pclk;
    
    	//unsigned tmp;
    	
    	//设置GPD0_2为PWM输出
    	s3c_gpio_cfgpin(S5PV210_GPD0(2), S3C_GPIO_SFN(2));
    
    	tcon = __raw_readl(S3C2410_TCON);
    	tcfg1 = __raw_readl(S3C2410_TCFG1);
    
    	//mux = 1/16
    	tcfg1 &= ~(0xf<<8);
    	tcfg1 |= (0x4<<8);
    	__raw_writel(tcfg1, S3C2410_TCFG1);
    	
    	clk_p = clk_get(NULL, "pclk");
    	pclk  = clk_get_rate(clk_p);
    
    	tcnt  = (pclk/16/16)/freq;
    	
    	__raw_writel(tcnt, S3C2410_TCNTB(2));
    	__raw_writel(tcnt/2, S3C2410_TCMPB(2));//占空比为50%
    
    	tcon &= ~(0xf<<12);
    	tcon |= (0xb<<12);		
    	__raw_writel(tcon, S3C2410_TCON);
    	
    	tcon &= ~(2<<12);			//clear manual update bit
    	__raw_writel(tcon, S3C2410_TCON);
    }
    
    展开全文
  • Device-0002 / Click Buzzer-2021 基于PIC16F1705的蜂鸣器。
  • 在imx6中貌似是没有写buzzer的设备,因此我们若有需要,得自己添加设备才能使用。1、buzzer.h文件:#ifndef __BUZZER_H #define __BUZZER_H struct buzzer_platform_data { unsigned long pin_number; }; #endif//2...
  • Buzzer 基于android平台开发,防止手机被偷的Buzzer-App Story 1 作为一个手机的主人, 我希望手机在被试图关机的时候,能够强行响起警报声, 这样,就可以防止偷手机的人在第一时间将我的手机关机。 Story 2 作为一...
  • raspi_buzzer_player 原始存储库: : 使用被动/主动蜂鸣器在树莓派上播放超级马里奥主题 最后的倒计时 Per Olssons Bonnagard(老麦克唐纳有农场) Manaderna(9号交响曲) 甲板大厅 疯狂青蛙(Axel F) 一闪...
  • pwm_buzzer平台设备驱动

    2019-05-10 20:04:42
    pwm0_buzzer { compatible = "pwm0,buzzer"; reg = <0x114000A0 0x1>,<0x139D0000 0x5>; }; 驱动文件 #include <linux/init.h> #include <linux/module.h> #include <linux/...
  • buzzer.zip

    2020-03-31 17:32:03
    是关于stmzet6使用定时器TIM3 PWM输出 驱动无源蜂鸣器奏乐,基于hal库开发。里面有串口和tim3,系统定时器,对应GPIO已经初始化
  • 图中buzzer不响,
  • 基于lpc2103的蜂鸣器 BUZZER 实验 - PWM输出 ,能快速的帮你进入ARM开发实验中!
  • 空白的Node.js物联网应用 在物联网项目创建选项下的英特尔:registered:XDK IoT Edition中分发的Blank Node.js示例应用程序。 英特尔(R)XDK IoT Edition 该模板是英特尔:registered:XDK IoT Edition的一部分。...
  • 关于ISIS仿真中Buzzer蜂鸣器不发声的问题 I/O接口输出需要有效。 蜂鸣器电路中的电阻阻值不能过高,否则蜂鸣器电压不够无法达到工作电压。 蜂鸣器的额定电压需要适当,最好是5v以下2v或3v。 ...
  • 基于迅为iTOP-4418开发板(支持...“arm-none-linux-gnueabi-gcc -o buzzer buzzer.c -static”,生成 buzzer 可执行程序。 将可执行文件 buzzer 拷贝到 U 盘,启动开发板,插上 u 盘,输入挂载命令“mount /dev...
  • 用SRF04、BUZZER和和数字电路芯片设计单次启动测距系统的电路,倒车雷达部分,https://littlede.blog.csdn.net/article/details/107206042
  • <div><p><strong>Issue:</strong> If, for example, DSHOT buzzer and Pre-arm are on the same switch, DSHOT commands to reverse motors are extremely unreliable (I assume that any situation where the DSHOT...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,496
精华内容 1,398
关键字:

buzzer