接到上面的一篇文章,说了简单的如何连接仿真器,能对其进行控制。本篇文章紧接着前面那篇,使用IAR开发简单的CC2541流水灯。

补充一下CC2541的最小系统原理图:

20150629173050.png

20190409103840.png

看到了AT8563,

AT8563 是低功耗 CMOS 实时时钟/日历芯片,它内置一个包括世纪、年月日时分秒的
计时器,在电路中起到钟表的作用。系统可以设置和读取 AT8563 中存放的当前时间,从而
对数据进行相应处理(例如计费、显示、记录等)。它通过先进的 I2C 总线接口与系统之间
串行传送数据,最大限度减少了电路板上的布线数目,非常适合于复杂系统。 AT8563 可应
用于移动电话等通讯产品、便携仪器、电信计费、考勤机、电脑主板、微机外设……等等一切与计时有关的电子产品中。

丝印为WTC的是陶瓷天线。
现有的方案很多就是nRF51822+LIS2DH12(超低功耗蓝牙单模芯片+ST的三轴加速度传感器),CC2541相对好像要少些吧,我也不是相关从业者,不甚了解 。

简单的流水灯

参照SimpleBLEPeripheral中的协议栈代码,可以看到:

20190409083844.png

我们要用的就是P1.0、P1.1这两个IO口。让两个LED亮就行了。

#include <ioCC2541.h>
//延时函数
void Delay1ms(unsigned int uiDelay)
{
    unsigned int i;
    
    for ( ; uiDelay > 0; uiDelay--)
    {
        /* 1ms */
        for (i = 0; i < 320; i++);
    }
}

int main(void)
{
  unsigned char i;
    /* P1.0、P1.1为IO口 */
    P1SEL &= ~0x03;
    /* P1.0、P1.1为IO口的输出 */
    P1DIR |= 0x03;

    /* 主循环 */
    while(1)
    {
        /* LED1,LED2,一起闪烁10次 */
        for ( i = 0; i < 10; i++)
        {
            P1 = (P1 & 0xFC) | 0x03;
            Delay1ms(1000);

            P1 = (P1 & 0xFC) & (~0x03);
            Delay1ms(1000);

            P1 = (P1 & 0xFD) | 0x02;
            Delay1ms(1000);

            P1 = (P1 & 0xFD) & (~0x02);
            Delay1ms(1000);

            P1 = (P1 & 0xFE) | 0x01;
            Delay1ms(1000);

            P1 = (P1 & 0xFE) & (~0x01);
            Delay1ms(1000);
        }
    }
}

然后这就是一起亮->蓝->一起亮->橙色(琥珀色)。

协议栈

流水灯可不是人家的主业。。。。好歹人家也是一款针对低能耗以及私有 2.4-GHz 应用的功率优化的真正片载系统 (SoC) 解决方案.
下载的BLE-CC254x-1.4.2.2 BLE-STACK 中有Projects\ble,里面有很多现有的工程,前一篇文章我们直接使用的就是烧录好的Hex文件,这里我们就打开一个工程,手动编译下。
至于用途:

  • CC2540DK-MINI Keyfob Slave: using the keyfob hardware platform.
  • CC2540 Slave: using the SmartRF platform.
  • CC2541 评估模块工具包 (CC2541EMK)
  • CC2541 小型开发工具包 (CC2541DK-MINI)

默认的密码:

20190409091417.png

如果需要修改广播名称的话:

20190409092204.png

我家里没有USBDongle,来进行ble数据的抓包。其实某宝也就几十块钱。

使用串口

如果想玩串口,使用如下引脚即可。我简单看了下,已经从芯片中引出。

20190409173655.png

总结

早退坑早省钱,只是捡个二手垃圾成了开发BLE协议栈,这样的折腾作用不大,与其花这个时间,倒不如直接买个成品。。。。
装了噼里啪啦一堆。。。。

20190410084931.png