CC2640R2F&TI-RTOS 拿到 TI CC2640R2F 开发板 第二件事就是 LED 驱动 ,点个灯

/*
 * board_led.c
 *
 *  Created on: 2018年7月3日
 *      Author: admin
 */

#include "board_uart.h"

#include "board.h"

#include "board_led.h"

static PIN_State  ledBoardPinsState;
static PIN_Handle ledBoardPinsHandle = NULL;

PIN_Config LedBoardPinsCfg[] ={
 ledRedBoard  | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_DRVSTR_MAX,
 ledBlueBoard | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_DRVSTR_MAX,
 PIN_TERMINATE};

void ledBoardInit( void )
{/* 初始化LED0,2018年7月3日15:36:20 */

   /* 打开LED0 */
   ledBoardPinsHandle = PIN_open(&ledBoardPinsState, LedBoardPinsCfg);

   if (ledBoardPinsHandle == NULL) {
       /* PIN_open() failed */
       while (1);
   }
   else
   {
       PIN_setOutputValue( ledBoardPinsHandle, ledRedBoard, true );
       PIN_setOutputValue( ledBoardPinsHandle, ledBlueBoard, true );

     bspDebugPrintf( true,"led1,led2 Board Init end.\r\n" );
   }

}

uint32_t ledBoardToggle( PIN_Id pinId )
{
     if( PIN_getOutputValue( pinId ) )
     {
         PIN_setOutputValue( ledBoardPinsHandle, pinId, false );
     }
     else
     {
         PIN_setOutputValue( ledBoardPinsHandle, pinId, true );
     }

     return true;
}

uint32_t ledBoardOff( PIN_Id pinId )
{

     PIN_setOutputValue( ledBoardPinsHandle, pinId, true );

     return true;
}

uint32_t ledBoardOn( PIN_Id pinId )
{

     PIN_setOutputValue( ledBoardPinsHandle, pinId, false );

     return true;
}
/*
 * board_led.h
 *
 *  Created on:  2018年7月3日
 *      Author: admin
 */

#ifndef APPLICATION_BOARD_LED_H_
#define APPLICATION_BOARD_LED_H_

#include <ti/drivers/PIN.h>

#define ledRedBoard      PIN_ID(6)
#define ledBlueBoard     PIN_ID(7)

void ledBoardInit( void );
uint32_t ledBoardToggle( PIN_Id pinId );
uint32_t ledBoardOff( PIN_Id pinId );
uint32_t ledBoardOn( PIN_Id pinId );

#endif /* APPLICATION_BOARD_LED_H_ */

官方资料链接

原文地址:https://www.cnblogs.com/suozhang/p/9268485.html

时间: 2024-10-07 02:16:12

CC2640R2F&TI-RTOS 拿到 TI CC2640R2F 开发板 第二件事就是 LED 驱动 ,点个灯的相关文章

驱动控制开发板上的四个LED小灯

在上一章了解了开发linux驱动程序的步骤,在本章会完成一个真正意义上的linux驱动,该驱动用来控制开发板上的四个LED小灯,通过向驱动发送数据可以控制LED小灯的开关. 首先介绍了LED驱动的实现原理,虽然linux驱动直接与硬件打交道,但并不是linux驱动直接向硬件中的内存写数据,而是与本机的I/O内存进行交互.Linux内核的内存管理模块负责同步I/O内存与硬件中的数据.每一个连接linux的硬件在I/O内存中都会有映射首地址. 其次是编写LED驱动.以下创建一个设备文件,第一步:使用

2440开发板脚本,启动运行触摸屏驱动,设置参数

在开发板建立文件 /etc/profile # ! bin/sh insmod /s3c_ts.ko export TSLIB_ROOT=/opt/tslib export TSLIB_TSDEVICE=/dev/event0 export TSLIB_FBDEVICE=/dev/fb0 export TSLIB_PLUGINDIR=/opt/tslib/lib/ts export TSLIB_CONSOLEDEVICE=none export TSLIB_CONFFILE=/opt/tslib

在 S5PV210 的 开发板上 点亮 一个 LED 灯

参考学习教程:周立功嵌入式Linux开发教程-(上册) 材料:首先 准备一个 安装好 Linux 的 开发板 使用  xshell 工具 连接 开发板  ,winscp 工具 连接 开发板  ,  准备 一个 Ubuntu  32位 ,装上 交叉编译链.. 使用下面 代码 和 Makefile 文件 进行编译  ,生成的  执行 文件  利用 winscp 软件复制到 Linux开发板上 ,利用 xshell 运行 这个可执行文件. 下面    代码的  功能  是   新建 一个 TCP 客户

4418开发板Win8.1下PL2303USB转串口驱动安装

安装 PL2303 驱动(基于迅为-4418开发板)在网盘“iTOP4418 开发板资料汇总(不含光盘内容)\01_iTOP-4418 开发板所需 PC 软件(工具)\01-USB 转串口(PL2302 驱动)\win8.1 串口驱动”目录下可以找到“迅为_PL2303_win8.1.zip”压缩包.解压之后的到“迅为_PL2303_win8.1.exe”.双击“迅为_PL2303_win8.1.exe”文件进行安装,如下图所示. 然后单击下一步. 单击完成,然后进入 win8.1 的设备管理器

友坚4412开发板基于Timed_out框架的GPIO驱动分析

Timed GPIO驱动程序分析 Timed GPIO驱动程序是android系统基于linux内核新增加的一类驱动程序,这类驱动程序主要是运用了内核定时器,与内核定时器进行绑定,使得控制GPIO口的高低电平与时间打上关系,既可以实现在一定的时间实现GPIO口为高或者低电平.Timed GPIO驱动被实现为平台设备驱动,Timed GPIO驱动源码位于如下目录:\kernel\drivers\staging\android Timed GPIO驱动程序主要包括如下几个文件: Timed_gpio

第七章主要讲的是控制发光二极管的驱动程序,用来控制开发板上的4个led灯

首先讲了led驱动的实现原理,linux驱动并不是直接向硬件的内存中写数据,而是与本机的i/o内存进行交互,每一个连接linux的硬件在i/o内存中都会有映射首地址. 编写驱动程序,先创建led驱动的设备文件: 1.使用cdev_init函数初始化cdev 描述设备文件需要一个cdev的结构体,cdev的大多是成员变量并不需要我们去初始化,只要调用cdev_init函数就可以初始化大部分cdev的成员变量 2.指定设备号 Linux 的设备的文件号分为 主设备号和此设备号,设备号有两种指定方法:

i.MX6UL 开发板 WIFI热点调试解决方法

飞凌嵌入式的 OKMX6UL开发板,WIFI支持热点功能, 按照以下方法能够利用 WIFI 开启热点,使其它具有无线功能的设备连接至此,形成局域网,但不能通过该热点访问外部网络,虽然还不能访问外网,但也使得操作更加方便,可以用移动设备访问开发板.目前飞凌 i.MX6UL开发板已经支持WiFi热点访问外网功能,有需要的可以咨询飞凌官方客服. 一.安装支持库 编译 hostapd需要libnl库和openssl库,所以要下载这两个库的源代码,进行交叉编译. 1.交叉编译libnl 1) 下载libn

iTOP-4412开发板-嵌入式平台开机测试

iTOP-4412平台硬件的连接1.核心板和底板的连接 迅为iTOP-4412开发板采用工业级进口板对板连接器,拔插方便稳定可靠,如下图所示. 另外迅为独家提供两种封装的核心板,接口定义完全兼容,如下图所示. iTOP-4412开发平台,核心板和底板可分离.拆分核心板的时候,使用塑料的薄片在核心和底板任意一边轻轻撬动,听到清脆的响声,表明撬动的一边的连接器已经分离,接着依次分离其它三边. 安装核心板的时候,核心板和底板的箭头要指向同一方向,将核心板和底板对齐,然后按压核心板,听到四次清脆的响声,

第8 意让开发板发出声音:蜂鸣器驱动

通过有I/O命令可以打开和停止PWM,PWM 驱动由3 个文件组成: pwm.c, pwm_fun.h .pwm_fun.c.其中pwm.c 是驱动主程序.pwm_fun.h 引用了相应的头文件,以及定义了一些宏.pwm_fun.c 文件则包含了打开和停止PWM的两个函数( pwm_start 和pwm_stop ).运行之后从Makefile 文件的内容可以看出,编译器首先将pwm.c 和pwm_fun.c 文件编译成pwm.o和pwm_fun.o,然后再将这两个*.o文件链接成pwm_dri