TI中文支持网
TI专业的中文技术问题搜集分享网站

【CC2541 评测】CC2541 迷你开发套件使用心得分享+CC2541-DK Mini基于IAR新建timer_peripheral(nonos)工程

评测一 CC2541-DK Mini基于IAR新建timer_peripheral(nonos)工程

         有幸申请收到TI的CC2541-DK Mini板子,第一次接触TI的蓝牙,上手折腾一下,来个简单把玩。TI的CC2541-DK Mini套件主要器件包含CC2541F256秘钥卡主板、CC2540F256 USB软件狗、CC Debugger调试器(TI专用)和其余一些零配件,其中keyfob主板引出了I2C和一些IO口做test头,两个用户按钮,还板载一个加速度计BMA250(正面电池座旁边编号为A1)和一块压电式音频转换蜂鸣器(背面标识为CMT-1603的大塑料块)。

体积小巧,CC2541是具有8K RAM+256K FLASH的增强型8051内核单片机,片上集成了两个32.753kHz和16MHz低精度RC振荡源、射频器件、滤波器、DC-DC稳压器、8051核心等。发射功率方面典型值是TX:0dBm(不是很高),接收灵敏度:-94dBm。其中发射功率可通过HCI_EXT_SetTxPowerCmd函数来调节(-6dBm和-23dBm)。调试时要短接P1头,从而让USB对芯片进行供电,此时最好拔去纽扣电池。

为验证开发环境搭建是否成功,在协议栈下面新建文件夹命名myprojects,再新建文件夹timer_parallel作为当前工作库。打开IAR新建workspace,再新建工程,toolchain选择8051,工程模板选择empty project,找到刚才的timer_parallel文件夹,工程取名timer_parallel(.ewp)

保存再新建文件,点击Save all会弹出工作库窗口,同样命名timer_parallel(.eww),然后点击Save保存文件命名为main.c并添加到工程下,在编辑器窗口编辑如下代码:

#include "ioCC2541.h"

#pragma message ("Hello_World!")

 

short timeCtrl1=0;//simulator task1

short timeCtrl2=0;//simulator task2

 

int  main()

{

    P1DIR|=0X03;//P1_0/P1_1

    P1_0=0;

    P1_1=0;

   

    T3CTL|=0xe0;//Prescale=128

    T3CTL&=0xfc;//Mode:Auto reload

    T3IE=1;   

    T3CTL|=0x18;//Enable,start

    EA=1;//Total switch      

}

 

#pragma vector=T3_VECTOR

__interrupt void T3_Handler(void)

{

    IRCON=0x00;//clear interrupt for next period

    if(timeCtrl1<=244)

      timeCtrl1++;

    else

    {

        timeCtrl1=0;

        P1_0=~P1_0;

    }

    if(timeCtrl2<=488)

      timeCtrl2++;

    else

    {

        timeCtrl2=0;

        P1_1=~P1_1;

    }   

}

接下来设置工程属性。单击工具栏Project->Option,在General option项由于我的主板型号是CC2541F256,Target选择IAR Install path/8051/config/devices/Texas Instruments/CC2541F256.i51,其他可以保持默认,如图:

在Debugger页面Setup标签里,Driver选择Texas Instrument,Device Description file确认是IAR Installl path\config\devices\Texas Instruments\ioCC2541F256.ddf,

在Linker页面Config标签确保Linker configuration file为$TOOLKIT_DIR$\config\devices\Texas Instruments\lnk51ew_CC2541F256_banked.xcl,同时Output标签定义Output file为timer_parallel.hex,

如果要开启一些宏预定义开关和头文件路径,可以切换到C/C++ Complier页面,然后在Preprocessor标签页编辑Additional include directories和Defined symbols项。然后点击Make编译,点击Download and Debug(Ctrl+D),启动调试,按F5全速运行,接上逻辑分析仪,上述代码不带OSAL的双任务运行效果是:P1_0产生T=1s,50%占空比方波,P1_1产生T=2s,50%占空比方波(代码没有精确计算,故误差比较大),如图:

 

user5324490:

谢谢分享,内容挺详细的,期待后续的完整项目

lospring:

测试的配置介绍的挺详细,学习了。

user6155536:

测试的很详细,使用的虚拟示波器?

user4544030:

测试的很详细,学习了

南霁云:

回复 user6155536:

不是,用的一款国产逻辑分析仪

user5367733:

请问申请的时候需要注意什么事项更容易得到板子?

user6055773:

期待把板卡上的加速度计和蜂鸣器调试代码也分享一下

user6055773:

配置也详细说明了,省去自己对应查找的麻烦,楼主用心了

user3883604:

回复 南霁云:

用的哪款国产逻辑分析仪,求推荐!

赞(0)
未经允许不得转载:TI中文支持网 » 【CC2541 评测】CC2541 迷你开发套件使用心得分享+CC2541-DK Mini基于IAR新建timer_peripheral(nonos)工程
分享到: 更多 (0)