CSR开发(转载)

CSR8670开发(3)-按键输入

CSR8670开发(3)-按键输入无评论

2017年7月20日 at 上午10:48分类:硬件 阅读: 1,262 次

 

开发板上的按键缺省都指定了功能,比如播放、音量、选曲控制等等
按键定义:
先将PIO口的物理按键映射成逻辑按键

上图显示PIO1口的物理按键指定为逻辑按键1
然后为逻辑按键指定相应的事件:

上图显示逻辑按键1指定为音量减少功能

要修改按钮功能,可以修改sink_buttons.c文件
修改函数ButtonsMessageHandler

在MESSAGE_PIO_CHANGED分支中是PIO口的状态变化事件,在此分支中判断按键
if (lMessage1->state & 1)
根据按键来添加相应的功能

CSR8670开发(2)-led、蜂鸣器、振动器控制

CSR8670开发(2)-led、蜂鸣器、振动器控制无评论

2017年7月18日 at 下午9:48分类:硬件 阅读: 1,456 次

 

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); 会导致整条语句执行失败

CSR8670开发(1)-初识开发板

CSR8670开发(1)-初识开发板无评论

2017年7月18日 at 下午8:04分类:硬件 阅读: 1,207 次

 

买了一块CSR8670蓝牙开发板:

供电方式可以选USB、SPI调试器及电池,一般缺省是用SPI调试器供电,但需注意如果用功放喇叭接口,最好还是用USB供电,否则喇叭功率过大容易烧调试器。

板上有一个总的电源开关

还有一个蓝牙控制开关MFB(多功能按钮),控制蓝牙开关:

开启总电源开关、蓝牙开关后即可用蓝牙配对,播放音乐,此时只能用耳机接口播放,功放喇叭接口不可用。

如果要使能功放喇叭接口,需要用跳线连接J13的2脚及J9的7脚,即把SPK_EN接1.8V变成高电平

与此开发板配套的是ADK 3.5.1

蓝牙FLASH的备份与烧写:
可用ADK中的Blue Flash来备份芯片程序

要备份,先按“stop process”按钮停止程序运行,然后点击“dump”按钮:

要烧写,先选择文件,然后停止程序运行,然后点击“download”下载程序

蓝牙程序其实分为两个部分:一个是蓝牙程序代码区、另一个是配置存储区。
配置信息是通过ADK中的pstool和sink configuration tool进行配置

pstool对配置区域的所有参数都有效,sink configuration tool只对sink工程有效

蓝牙程序代码可以通过BlueLab进行编写、编译和下载

PC工具把配置存储在数据区域,在初始化的时候,程序代码会读取这些数据,然后根据这些配置去具体初始化系统参数,hfp,a2dp,avrcp等。

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
  Eclipse最初由OTI和IBM两家公司的IDE产品开发组创建,起始于1999年4月。IBM提供了最初的Eclipse代码基础,包括Platform、JDT和PDE。目前由IBM牵头,围绕着Eclipse项目已经发展成为了一个庞大的Eclipse联盟,有150多家软件公司参与到Eclipse项目中,其中包括Borland、Rational Software、Red Hat及Sybase等。 Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Tools,JDT)。 虽然大多数用户很乐于将 Eclipse 当作 Java IDE 来使用,但 Eclipse 的目标不仅限于此。Eclipse 还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具。由于 Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。 这种平等和一致性并不仅限于 Java 开发工具。尽管 Eclipse 是使用 Java 语言开发的,但它的用途并不限于 Java 语言;例如,支持诸如 C/C++、COBOL 和 Eiffel 等编程语言的插件已经可用,或预计会推出。Eclipse 框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。 Eclipse还可以为Adobe Flex 2提供编程的平台和可视化界面。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值