CC3220LaunchPad学习(一)
来源:互联网 发布:美股交易软件 编辑:程序博客网 时间:2024/06/08 09:14
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文件同理,使用前先仔细阅读以下开头部分被注释掉的部分。
- CC3220LaunchPad学习(一)
- 学习机器学习(一)
- 迁移学习学习(一)
- 学习ShellCode(一)
- STL学习(一)
- portal学习(一)
- JavaScript学习(一)
- XML学习(一)
- 学习笔记(一)
- 学习模式(一)
- ubuntu学习 (一)
- 学习(一)
- 学习boost(一)
- OpenCV学习(一)
- Hibernate 学习(一)
- HQL学习(一)
- c++学习(一)
- HttpClient学习(一)
- estore简版商城
- 第十二周项目3Dijkstra算法的验证
- JNI访问Java数组方法
- MySql安装问题This application requires Visual Studio 2013 Redistributable. Please install
- python实现常用排序算法
- CC3220LaunchPad学习(一)
- 第九周 纸上谈兵:“知原理”检验题目
- ssh
- (原创)clang的python接口教程(二)
- SpringBoot非官方教程 | 第七篇:springboot开启声明式事务
- UIViewController的理解
- 在DPDK环境下搭建OpenvSwitch用户态运行环境
- tomcat挂掉自动启动tomcat
- 【Scikit-Learn 中文文档】神经网络模块(监督的)- 监督学习