找回密码
 立即注册

使用微信账号登录

只需一步,快速开始

查看: 21628|回复: 11

[CSR8系列] CSR8670开发(2)-LED、蜂鸣器、振动器控制

[复制链接]
连续签到天数:1天
签到总天数:3天
签到总奖励:16金币
发表于 2017-7-20 10:53:32 | 显示全部楼层 |阅读模式

马上注册,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册  

×

1、用bluelab打开sink工程
2、修改main.c文件



    在main()函数前增加

    #define MYLED (1 << 10) /* bit 10 */
    #define MYDELAY 500 /* ms */
    static void myled_controller( Task t, MessageId id, Message payload )
    {
    PioSet32( MYLED, (PioGet32() ^ MYLED) );//PIO10电平反转
    MessageSendLater( t, 0, 0, MYDELAY ); //设置延时
    }
    static TaskData myled_controller_task = { myled_controller };

    设置PIO10闪烁
    在main()函数中增加:
    PioSetDir32(MYLED, MYLED); //设置PIO10为输出
    PioSet32(MYLED, MYLED); //初始化PIO10为高电平
    MessageSend( &myled_controller_task, 0 , 0 );

    重新编译、运行程序,PIO10连接的指示灯会闪烁

    将上面的PIO10改成PIO14,延时改为1ms,就可以驱动蜂鸣器发出500Hz的声音

    改成PIO15,可以驱动振动器动作

    注意,当PIO被系统配置占用的时候,如果用PioSet32设置PIO的数值,会导致设置语句执行失败,比如PIO6被系统占用:

    此时用语句:
    PioSet32( (1<<11)|(1<<10)|(1<<7)|(1<<6)|(1<<5), itemp); 会导致整条语句执行失败


楼主热帖
积分商城 - 让您的金币更有价值!||官方Q群 - 让您的沟通更加及时!
您需要登录后才可以回帖 登录 | 立即注册  

本版积分规则

小黑屋|手机版|我爱蓝牙网 - 52Bluetooth

GMT+8, 2025-7-2 22:47 , Processed in 1.811889 second(s), 13 queries , Gzip On, MemCached On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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