CC2640R2F&TI-RTOS 拿到 TI CC2640R2F 开发板 第三件事就是使用 TI-RTOS 创建 一个任务 和 使用 信号量 超时来闪烁 LED灯
/*
* data_process.c
*
* Created on: 2018年7月5日
* Author: admin
*/ #include <ti/sysbios/knl/Task.h>
#include <ti/sysbios/knl/Clock.h>
#include <ti/sysbios/knl/Event.h>
#include <ti/sysbios/knl/Queue.h>
#include <ti/sysbios/knl/Semaphore.h> #include "board_led.h"
#include "board_uart.h" #include <ti/drivers/dpl/SemaphoreP.h> #include "data_process.h" // Task configuration
#define LF_TASK_PRIORITY 1
#define LF_TASK_STACK_SIZE 256 // Task configuration
Task_Struct lfTask;
Char lfTaskStack[LF_TASK_STACK_SIZE]; Semaphore_Handle semLedFicker; /*********************************************************************
* @fn LedFicker_createTask
*
* @brief Task creation function for the led ficker.
*
* @param None.
*
* @return None.
*/
void LedFicker_createTask(void)
{
Task_Params taskParams; // Configure task
Task_Params_init(&taskParams);
taskParams.stack = lfTaskStack;
taskParams.stackSize = LF_TASK_STACK_SIZE;
taskParams.priority = LF_TASK_PRIORITY; Task_construct(&lfTask, LedFicker_taskFxn, &taskParams, NULL);
} /*********************************************************************
* @fn LedFicker_taskFxn
*
* @brief Application task entry point for the Led Ficker.
*
* @param a0, a1 - not used.
*
* @return None.
*/
static void LedFicker_taskFxn(UArg a0, UArg a1)
{
Semaphore_Params semLedFickerParams; uint32_t timeoutInTicks = * (/Clock_tickPeriod); Semaphore_Params_init(&semLedFickerParams);
semLedFicker = Semaphore_create(, &semLedFickerParams, NULL); /* Memory allocated in here */ if (semLedFicker == NULL) /* Check if the handle is valid */
{
bspDebugPrintf( true,"semLedFicker could not be created.\r\n");
}
else
{ bspDebugPrintf( true,"semLedFicker be created.\r\n");
} // Application main loop
for (;;)
{ Semaphore_pend(semLedFicker, timeoutInTicks); //翻转LED灯
ledBoardToggle( ledBlueBoard );
ledBoardToggle( ledRedBoard );
}
}
/*
* data_process.h
*
* Created on: 2018年7月5日
* Author: admin
*/ #ifndef APPLICATION_DATA_PROCESS_H_
#define APPLICATION_DATA_PROCESS_H_ void LedFicker_createTask(void); static void LedFicker_taskFxn(UArg a0, UArg a1); #endif /* APPLICATION_DATA_PROCESS_H_ */
需要 吐槽的 是 我居然 没有 找到 系统 延时函数 ,所以采用 信号量超时 来 作为 LED 延时!
CC2640R2F&TI-RTOS 拿到 TI CC2640R2F 开发板 第三件事就是使用 TI-RTOS 创建 一个任务 和 使用 信号量 超时来闪烁 LED灯的更多相关文章
- CC2640R2F&TI-RTOS 拿到 TI CC2640R2F 开发板 第四件事就是 修改第三件事信号量超时改为 事件 超时,并增加 事件控制 ,用于控制LED 闪烁时间或者关闭
/* * data_process.c * * Created on: 2018年7月5日 * Author: admin */ #include "board_led.h" #i ...
- 微信小程序:开发之前要知道的三件事
前言 微信之父张小龙在年初的那次演讲中曾表示:"我自己是很多年的程序员,我觉得我们应该为开发的团队做一些事情".几个月后,微信正式推出微信应用号(即微信小程序),在互联网中掀起了又 ...
- Ionic-wechat项目边开发边学(一):环境搭建和创建一个项目
之前学AngularJS,教程过了一遍觉得很简单,但真正写几个Demo就错误百出,一个小小的功能要折腾很久.所以这次学Ionic,准备以开发一个项目为切入点去学,那么问题来了,开发什么项目呢? 纠结了 ...
- Linux移植到自己的开发板(三)根文件系统
@ 目录 1 Linux内核配置 2 ramdisk制作 3 busybox配置 4 genext2fs生成镜像 为了快速调试,采用ramdisk进行根文件系统测试.要使内核能挂载ramdisk根文件 ...
- MSP430 LaunchPad开发板入门教程集合
MSP-EXP430G2开发板是德州仪器提供的开发工具,也称为LaunchPad,用于学习和练习如何使用其微控制器产品.该开发板属于MSP430 Value Line系列,我们可以对所有MSP430系 ...
- 【转帖】嵌入式4412开发板QT5.7编译安装到arm
QT5.7.0+UBUNTU16.04+ARM-NONE-LINUX-GNUEABI4.8+busybox最小LINUX系统 Orandragon记录 本文转自迅为4412开发板群:http://to ...
- iTOP-4412 开发板镜像的烧写
镜像就是源代码编译并连接以后生成的可执行文件包,把这些镜像文件烧写到开发板的存储芯片里,开机就可以运行了. 烧写方式有两种,通过TF卡烧写以及使用OTG接口烧写 OTG方式:只能在WIN7 或者XP ...
- TPYBoard V102:能跑Python的stm32开发板
近来micropython语言做硬件编程很火,随之而来的就开始带动着支持micropython语言编程的开发板也开始火的发烫,今天小编就来和大家介绍一款很经典的micropython开发板-TPYBo ...
- 【前端】Vue和Vux开发WebApp日志三、完善gulp任务
转载请注明出处:http://www.cnblogs.com/shamoyuu/p/vue_vux_3.html 项目github地址:https://github.com/shamoyuu/vue- ...
随机推荐
- lambda 表达式学习笔记
在Java中传递一个代码段并不容易,不能直接传递代码段.Java是一个面向对象语言,所以必须构造一个对象,这个对象的类需要一个方法能包含所需的代码.lambda的出现有效的解决这个问题,让代码变得更加 ...
- jquery获取哪一个下拉框被选中
var val = $("select[name='type_irb'] option:selected").val();
- BZOJ1149 [CTSC2007]风玲
Description Input Output 输出仅包含一个整数.表示最少需要多少次交换能使风铃满足Ike的条件.如果不可能满足,输出-1. Sample Input 6 2 3 -1 4 5 6 ...
- Tarjan系列1
tajan的dfs树系列算法: 求解割点,桥,强连通分量,点双联通分量,边双联通分量: tajan是一个dfs,把一个图变成一个dfs树结构, dfs树结构,本质是通过一个没有任何要求的dfs把图的边 ...
- 02--CSS的继承性和层叠性
一 继承性 css有两大特性:继承性和层叠性 面向对象语言都会存在继承的概念,在面向对象语言中,继承的特点:继承了父类的属性和方法.那么我们现在主要研究css,css就是在设置属性的.不会牵扯到方法的 ...
- Android实现身份证拍摄框
http://blog.csdn.net/lhbtm/article/details/55505668 最近项目需要实现身份证拍照的功能,系统的相机并不能满足需求,故需要自定义相机,先上效果图,使用了 ...
- MVC框架以及实例
MVC框架 MVC(model,view,controller),一种将业务逻辑.数据.界面分离的方法组织代码的框架.在改进界面及用户交互的同时,不需要重写业务逻辑.MVC将传统的输入.处理和输出分离 ...
- VISO画UML用例图添加Include关系的方法
VISO画UML用例图添加Include关系的方法 今天用Microsoft Visio 2007画用例图时,发现visio UML用例里面找不到include关系,查到一个可行的解决办法: 1)创 ...
- FTP作业
实现一个FTP网盘的功能 pa's's
- VC 6.0 MFC关闭对话框在win7出现崩溃的情况
Ctrl + W 掉出来class管理 添加OnDestory方法 void CPackUpItemToSetDlg::OnDestroy() { exit(1); CDialog::OnDestro ...