CC3220LaunchPad学习(一)

CC3220LaunchPad开发板使用
Created for the Internet of Things (IoT), the SimpleLink Wi-Fi CC3220 device is a single-chip microcontroller (MCU) with built-in Wi-Fi connectivity for the LaunchPad ecosystem, that integrates a highperformance ARM Cortex-M4 MCU allowing customers to develop an entire application with one device.With on-chip Wi-Fi, Internet, and robust security protocols, no prior Wi-Fi experience is required for fast development。这是官方的介绍。

对于CC3220来说,要借助官方的SDK开发可以达到事半功倍的效果。
在SDK内有一个empty工程,每次新建自己的项目时,基于这个empty工程来开发方便很多。
打开CCS->指定工作空间路径->project->import ccs project->找到sdk的安装路径(默认安装路径为C:\ti\simplelink_cc32xx_sdk_1_50_00_06\examples\rtos\CC3220S_LAUNCHXL\drivers\empty)工程截图如下
CC3220LaunchPad学习(一)_第1张图片
Board.h,CC3220S_LAUNCHXL.C,CC3220s_LAUNCHXL.h文件是与开发板硬件相关的文件。
main_tiritos.c是主函数,表示使用了TI的RTOS 操作系统。empty.c是用户定义线程的地方。
CC3220LaunchPad学习(一)_第2张图片
main函数的主要工作就是初始化,创建线程。如在第86行创建了一个mainThread的线程。这个线程功能的定义是在empty.c里定义的。

    void *mainThread(void *arg0)
    {
        /* 1 second delay */
        uint32_t time = 1;
        /* Call driver init functions */
        GPIO_init();
        // I2C_init();
        // SDSPI_init();
        // SPI_init();
        // UART_init();
        // Watchdog_init();
        /* Turn on user LED */
        GPIO_write(Board_GPIO_LED0, Board_GPIO_LED_ON);

while (1) {
    sleep(time);
    GPIO_toggle(Board_GPIO_LED0);
}

}

打开empty.c可以找到这个线程的具体定义,先初始化了一个GPIO_init()函数(其他功能初始化函数因为没有用到被注释掉了,用到时只要取消注释就好了,是不是很方便)
然后调用GPIO_write函数来使led0亮。在while循环中使led0翻转。

在 \examples\rtos\CC3220S_LAUNCHXL\drivers目录下还有其他demo。利用SDK开发RTOS应用时,只要在empty工程的基础上添加用户需要的线程即可完成。此处涉及到了RTOS操作系统,没有概念的话建议去看看



在 \examples\rtos\CC3220S_LAUNCHXL\drivers目录下,每一个每一个驱动都是封装好的函数,使用者只需要调用函数API即可,在每个.h文件的开头,都有该驱动API的使用实例用法。例如打开UART.h文件。

 @code
 *    char        input;
 *    UART_Handle uart;
 *    UART_Params uartParams;
 *
 *    // Initialize the UART driver.
 *    UART_init();
 *
 *    // Create a UART with data processing off.
 *    UART_Params_init(&uartParams);
 *    uartParams.writeDataMode = UART_DATA_BINARY;
 *    uartParams.readDataMode = UART_DATA_BINARY;
 *    uartParams.readReturnMode = UART_RETURN_FULL;
 *    uartParams.readEcho = UART_ECHO_OFF;
 *    uartParams.baudRate = 9600;
 *
 *    // Open an instance of the UART drivers
 *    uart = UART_open(Board_UART0, &uartParams);
 *
 *    if (uart == NULL) {
 *        // UART_open() failed
 *        while (1);
 *    }
 *
 *    // Loop forever echoing
 *    while (1) {
 *        UART_read(uart, &input, 1);
 *        UART_write(uart, &input, 1);
 *    }
 *  @endcode


给出了uart的相关函数使用方法,初始化例子等。其他derive.h文件同理,使用前先仔细阅读以下开头部分被注释掉的部分。

你可能感兴趣的:(教程,分享,CC3220)