CYPRESS 集成开发环境(IDE)WICED Studio的使用

好记性不如烂笔头,既然不够聪明,就乖乖的做笔记,温故而知新。

 

目录

  1. 打开WICED
  2. 选择SDK包
  3. SDK例程
  4. 代码入口
  5. 编译和下载

简介

WICED StudioCypress继承自Broadcom的开发环境,适用于cypress收购broadcom IOT的单芯片开发;当然现在cypress已经发布了整合PSoc Creator和WICED的全新开发环境Modus Toolbox.以后再讲Modus Toolbox。

如果你用过eclipse或者居于eclipse开发而来的IDE,那么你是用WICED Studio没有任何压力,WICED Studio也是在eclipse基础上开发而来。作为一款功能强大并且开源的软件,很多厂商的IDE都是在它的基础上开发而来,例如英飞凌的 DAVA、Dialog的 SmartSnippets Studio等;

CYPRESS 集成开发环境(IDE)WICED Studio的使用_第1张图片


一、打开WICED Studio如下界面;

CYPRESS 集成开发环境(IDE)WICED Studio的使用_第2张图片


二、选择SDK包;

CYPRESS 集成开发环境(IDE)WICED Studio的使用_第3张图片


三、SDK例程;

目前WICED6.2自带CYW20706/CYW20719/CYW20735等芯片的SDK

CYPRESS 集成开发环境(IDE)WICED Studio的使用_第4张图片


四、代码入口;

以"app/snip/hal/gpio"为例:

很多MCU工程师习惯了找"main",用WICED的话别找了,找不到,WICED的main函数放在底层;

APPLICATION_START( )
{
    wiced_set_debug_uart( WICED_ROUTE_DEBUG_TO_PUART );
    wiced_hal_puart_select_uart_pads( WICED_PUART_RXD, WICED_PUART_TXD, 0, 0);

    WICED_BT_TRACE( "GPIO application start\n\r" );

    wiced_bt_stack_init( sample_gpio_app_management_cback,NULL,NULL);
}

APPLICATION_START( )是整个代码的上层入口;

在这里,一般会设置debug模式;设置buff pool;设置transport;设置蓝牙协议栈的回调函数sample_gpio_app_management_cback(),这个回调函数将处理蓝牙协议栈的message。

APPLICATION_START( )跑完后;底层将返回一个"BTM_ENABLED_EVT"的message;应用层执行sample_gpio_app_management_cback(),在BTM_ENABLED_EVT下完成用户应用代码的初始化。

         /* Bluetooth  stack enabled */
        case BTM_ENABLED_EVT:
            /* Initializes the GPIO driver */
            wiced_bt_app_hal_init();

            /* Sample function configures LED pin as output
             * sends a square wave on it
             * if testing pin 31 then disable puart*/
            gpio_test_led( );

            /* Sample function configures GPIO as input. Enable interrupt.
             * Register a call back function to handle on interrupt*/
            gpio_set_input_interrupt( );

            break;

 

 

至此,示例的初始化完成,代码在应用层执行;

WICED没有将main函数放在上层,所以,用户如果需要添加一些WICED没有预设的外设的操作,只能通过软定时器注册回调函数,在回调函数中处理用户代码;

以下代码为例:

    if ( wiced_init_timer( &seconds_timer, &seconds_app_timer_cb, 0, WICED_SECONDS_PERIODIC_TIMER )== WICED_SUCCESS )
    {
        if ( wiced_start_timer( &seconds_timer, APP_TIMEOUT_IN_SECONDS_A ) !=  WICED_SUCCESS )
    {
            WICED_BT_TRACE( "Seconds Timer Error\n\r" );
        }
    }

 

/* The function invoked on timeout of app seconds timer. */
void seconds_app_timer_cb( uint32_t arg )
{
    wiced_timer_count++;
    WICED_BT_TRACE( "seconds periodic timer count: %d s\n", wiced_timer_count );

    if(wiced_timer_count & 1)
    {
        wiced_hal_gpio_set_pin_output( LED_GPIO_1, GPIO_PIN_OUTPUT_LOW);
    }else{
        wiced_hal_gpio_set_pin_output( LED_GPIO_1, GPIO_PIN_OUTPUT_HIGH);
    }
}

通过wiced_init_timer注册seconds_app_timer_cb;在seconds_app_timer_cbzho中执行切换GPIO口的状态,控制LED亮灭。


五、编译和下载;

cypress的开发板只需要一根USB线与电脑连接即可通过WICED完成编译、烧录;

选择最上部菜单"window->show view->make target"

CYPRESS 集成开发环境(IDE)WICED Studio的使用_第5张图片

双击对应的make选项,WICED将自己完成编译和下载;

CYPRESS 集成开发环境(IDE)WICED Studio的使用_第6张图片


六、有问题欢迎邮件至:[email protected]


 

你可能感兴趣的:(cypress,Bluetooth,cypress,wiced,studio)