评测一 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:
回复 南霁云:
用的哪款国产逻辑分析仪,求推荐!