CC3220LaunchPad学习(一)

news/2024/11/30 18:51:55/

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)工程截图如下
这里写图片描述
Board.h,CC3220S_LAUNCHXL.C,CC3220s_LAUNCHXL.h文件是与开发板硬件相关的文件。
main_tiritos.c是主函数,表示使用了TI的RTOS 操作系统。empty.c是用户定义线程的地方。
这里写图片描述
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文件同理,使用前先仔细阅读以下开头部分被注释掉的部分。


http://www.ppmy.cn/news/140948.html

相关文章

python connect PAC3220 through modbus tcp protocal

python 直接读取PAC3220 通过modbus tcp 协议。 硬件连接:网线连接PC and PAC3220. 协议简介: Modbus协议是一项应用层报文传输协议,包括ASCII、RTU、TCP三种报文类型。 标准的Modbus协议物理层接口有RS232、RS422、RS485和以太网接口&am…

CC3220学习笔记---点亮LED寄存器版

CC3220SF开发板到货,拍照留念 两兄弟,右边这块是CC3220SF,大一些。 相比51单片机,ARM的MCU复杂得多,再加上N层的抽象,复杂度更是高得多。更可怕的是,所有文档还是英文的,这东西看中文…

CC3220学习笔记---中断

我们还是先把所有中断相关寄存器列出来吧。与中断有关的寄存器一共7个,结构都差不多,下面一一讲解: 一、中断寄存器 GPIOIS Register (offset 404h) [reset 0h] 此寄存器指示中断检测方式,为0时表示边沿触发,为1时表…

CC3220学习笔记---点亮LED PinMux版

上节课使用了driverlib API来实现了LED灯的点亮,在实际开发中,不可能这样写程序,效率太低。这时就需要把硬件的各种行为抽象出来,帮助开发人员更容易地,更符合人类思维的方式进行操作。 首先理解CC3220 SDK源码的架构&…

CC3220开发板

思前考后,还是得从底层学起,弄清楚芯片。先要在TI-RTOS下搞清楚,再转到Zephyr。问题是TI-RTOS不支持CC3200,仅FreeRTOS支持它。TI-RTOS已经弄过一段,还算有点熟,再花时间学FreeRTOS感觉不太值得。所以还是搞…

可以用的RAID 6:HighPoint RocketRAID 3220评测

可以用的RAID 6&#xff1a;HighPoint RocketRAID 3220评测 <script src"http://tech.ddvip.com/a_dir_d/title_bottom.js"></script> http://tech.ddvip.com 2008年11月14日 社区交流 收藏本文 <script src"http://tech.ddvip.com/a_dir_d…

初创公司办公网搭建-防火墙(用H3C MER3220企业路由器)搭建

初创公司办公网搭建-防火墙 背景公司需求H3C MER3220企业路由器搭建访问控制端外网配置内网配置开启防火墙防护内网间安全策略补充 背景 初创公司团队不少都不会请网络工程师搭建办公网络&#xff0c;所以一般办公网络问题不出意外都堆到了公司一堆可爱的码农身上….   本人四…

RG-AP3220 产品介绍

产品简介 RG-AP3220是锐捷网络推出的802.11n无线网络的无线接入点产品,每路射频单元可以提供高达300Mbps的接入速率,单个AP可以提供600Mbps的接入速率。RG-AP3220产品充分考虑了无线网络安全、射频控制、移动访问、服务质量保证、无缝漫游等重要因素,配合锐捷网络WS系列无线…