LM3S2965中GPIOPortIntRegister()dm8168 gpio怎么用用?

LM3S2965开发板_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
LM3S2965开发板
开​发​板​的​图
阅读已结束,如果下载本文需要使用
想免费下载本文?
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢50HelloM3应用笔记--GPIO操作-第3页
上亿文档资料,等你来发现
50HelloM3应用笔记--GPIO操作-3
下面的图6就是修改为寄存器方式操作后的示波器显示;图6;正如图6所示电平翻转速度达到了25MHz;2.3、GPIO的中断;中断是一个非常重要的概念,每一个单片机都会有中断;2.3.2、采用库函数使用GPIO中断;GPIO的每个引脚都可以作为外部中断;#include&inc/hw_typ;#include&inc/hw_mem;#incl
下面的图6就是修改为寄存器方式操作后的示波器显示 图6正如图6所示电平翻转速度达到了25MHz。和图4对比就可以发现比APB方式快了一倍。此时时钟频率还是50MHz,而电平翻转速率是25MHz。说明电平翻转一个周期为两个时钟周期,也就是说以AHB的方式访问时可以每个时钟周期访问一次。这样的速度是无与伦比的。2.3、GPIO的中断中断是一个非常重要的概念,每一个单片机都会有中断。不同的单片机处理中断的方式不同。Cortex-M3在内核水平上搭载了一个异常响应系统,支持为数众多的系统异常和外部中断。本节不会具体讲中断的概念,只是讲述如何在LM3S9B96上应用中断。2.3.2、采用库函数使用GPIO中断GPIO的每个引脚都可以作为外部中断。下面就用一个例子来演示如何配置GPIO中断,并调用中断服务程序。本例程实现PA1口为中断源,下降沿触发,每触发一次中断改变一次PF3口的状态,通过LED显示。 #include &inc/hw_ints.h&#include &inc/hw_types.h&#include &inc/hw_memmap.h&#include &driverlib/gpio.h&#include &driverlib/sysctl.h&#include &driverlib/interrupt.h& //**********************************//*
定义一个变量指示LED的开关//**********************************static unsigned char ucFlag = //**********************************//*
保存中断状态//**********************************static unsigned long ulIntS //**********************************//*
i,j为循环的变量//**********************************static unsigned char i = 0;static unsigned char j = 0; //**********************************//*
主函数//**********************************int main(void){////使用PLL。频率50MHz//SysCtlClockSet(SYSCTL_SYSDIV_4 | SYSCTL_USE_PLL | SYSCTL_OSC_MAIN | SYSCTL_XTAL_16MHZ);//// 使能PORTA和PORTF端口//SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA);SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF); //// 设置PA口和PF口的状态,PA1为输入,PF3为输出// 上电点亮LED,并配置PA1口带弱上拉电阻//GPIOPinTypeGPIOOutput(GPIO_PORTF_BASE, GPIO_PIN_3);GPIOPinWrite(GPIO_PORTF_BASE, GPIO_PIN_3, 0);GPIOPinTypeGPIOInput(GPIO_PORTA_BASE, GPIO_PIN_1);GPIOPadConfigSet(GPIO_PORTA_BASE,GPIO_PIN_1,GPIO_STRENGTH_2MA,GPIO_PIN_TYPE_STD_WPU);//// 设置PA口的中断,下降沿触发//GPIOIntTypeSet(GPIO_PORTA_BASE, GPIO_PIN_1, GPIO_FALLING_EDGE); //// 设置中断优先级//IntPrioritySet(INT_GPIOA, 0x00); //// 使能PA口中断//IntEnable(INT_GPIOA); //// 使能PA1中断//GPIOPinIntEnable(GPIO_PORTA_BASE, GPIO_PIN_1); //// 总中断使能//IntMasterEnable(); //// 循环等待中断//while(1);}//**********************************//* 中断处理函数//**********************************void GPIOAIntHandler(void){//// 获取PA口的中断状态//ulIntStatus = GPIOPinIntStatus(GPIO_PORTA_BASE,true);//// 清除PA口的中断//GPIOPinIntClear(GPIO_PORTA_BASE,ulIntStatus); ucFlag ? (GPIOPinWrite(GPIO_PORTF_BASE, GPIO_PIN_3, GPIO_PIN_3),ucFlag = false):(GPIOPinWrite(GPIO_PORTF_BASE, GPIO_PIN_3, !GPIO_PIN_3),ucFlag = true);}程序看起来比较长,但是其实很简单。程序中大部分语句都给出了说明。主程序一开始就通过PLL将时钟频率设置在50MHz,其实不设置也行。因为要使用PA和PF口,所有先要使能两个端口,给两个端口接通时钟信号。然后就是配置PA1和PF3口的方向和状态了。首先将PF3口设置为输出,然后将PF3设置为低电平,点亮LED。接下来将PA1口设置为输入,但是一定要加上拉电阻,这样给PA1一个确定的状态。以上做好之后就可以设置PA1的中断了。首先将PA1设置为下降沿触发,设置中断优先级,然后开中断。最后就是循环等待中断的发送了。开中断的时候要将PA口的中断和PA1的中断都打开,然后开总中断。至此主函数算是写完了。本例程中,进入中断处理函数后要先将PA口的中断清除,然后判断并翻转LED的状态。当然中断处理函数这么做是不妥的,要加入软件或硬件的消抖。软件消抖的做法一般是进入中断后循环等待一段时间然后检测中断源是否还有中断,如果有则确认产生中断,没有则认为是干扰。在程序中加入了一个获取当前中断状态的函数,以便读者理解如何消除抖动。程序只这么做是不行的。因为要在中断向量表中加入中断处理函数的入口地址,当中断产生时才会跳到中断处理函数中区。在Keil中,打开工程中的Startup.s汇编文件,然后做如图7修改 图7加入红色方框内的语句,EXTERN表示引入外部的程序,后面加程序的名称,也就是入口地址,一定要和中断处理函数的名称相同。然后,将中断向量表中的GPIO Port A的中断函数入口地址按如图8修改: 图8 如红色方框呢所示,将原来的中断地址注释掉,添加上自己写的中断处理函数地址。至此该中断向量表修改完毕,整个工程也到此完毕,可以拿到开发板上实验了。2.3.2、采用寄存器使用GPIO中断上一个程序中我们用库函数的方式实现了PA1口的中断。下面我们就用寄存器操作的方式来重新编写上述程序。程序代码如下:#include &inc/hw_types.h&#include &inc/lm3s9b96.h&#include &driverlib/gpio.h& ////
LED标志//static unsigned char ucFlag = //*********************//*
延时函数的变量//*********************static unsigned char i = 0;static unsigned char j = 0; //******************//*
使能总中断//******************__asm void CPUcpsie(void){//// 读取PRIMASK,并且使能总中断//mrs
r0, PRIMASK;bx
lr //不可缺少} //*****************//*
主函数//*****************int main(void){unsigned char ucTemp = 0xFF; 包含各类专业文献、专业论文、幼儿教育、小学教育、行业资料、应用写作文书、外语学习资料、生活休闲娱乐、高等教育、50HelloM3应用笔记--GPIO操作等内容。 
 Cortex-M3对GPIO的配置STM32_计算机软件及应用_IT/...(TX1,MOSI,MISO.SCK.SS) STM32 设置实例: (1)...STM32 GPIO使用笔记 10页 免费 +STM32_GPIO_的一些...  位带操作学习笔记_计算机软件及应用_IT/计算机_专业...GPIO_ResetBits(GPIOC, GPIO_Pin_4); //关 LED...-M3存储器映像包括两个位段(bit-band)区。 这两...  STM32 学习笔记(1):GPIO 口的使用 2011 年 3 ...虽然是很简单的一个 IO 口操作,但是由于以前从来都...STM32F103VET6 芯片是基于 ARM Cortex-M3 内核的,...  执行 GPIO 管脚读操作时,在读脉冲(Read Pulse)的...(应用 ADC 模拟输入) 5) 开漏输出 (输出端相当...文档贡献者 hellocmy88 贡献于
专题...  第5章 GPIO 的应用实例:键盘、LED 与 LCD 本章...( 0),其余三根行线 m2、 m3、 m4都 为高电平...先通 过串口向 PC 发送 “Hello World!”’然后...  GPIO 基本设置 GPIOMode_TypeDef GPIO mode GPIO_...cortexm3_macro.s 和 stm32f10x_vector.s 文件;...在任何一个基于固件 库函数的 STM32 应用函数里,...  LM3S的GPIO操作相关库函数_电子/电路_工程科技_专业...M3 的内核中断,不需要手动清除 54 1.中断模式设置...《建筑工程管理与实务》笔记总结81份文档
笑话大全集...  STM32F103VET6 芯片是基于 ARM Cortex-M3 内核的,...《基于 MDK 的 STM32 处理器开发应用》一书中,“...//定义 GPIO 宏操作结构体 RCC_APB2PeriphClockCmd...  Cortex-M3 GPIO接口配置和中断管理_计算机硬件及网络_IT/计算机_专业资料。GPIO ...通过对中断优先级寄存器的 8 位 PRI_N 区执行写操作,来将中断的优先级指定为...基于easyarm1138的系列教程。
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
【5】通用输入输出(GPIO)
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口LM3S811学习体会—LED-USART-TIMER-GPIOINT - lixiaoxu2meng的日志 -
电子工程世界-论坛 -
LM3S811学习体会—LED-USART-TIMER-GPIOINT
已有 1810 次阅读 10:23
上例程,本例程主要包括:1. 2.USART 3.TIMER0溢出中断 4.GPIO端口中断& & 1.LED&&主要实现六个小灯的轮流闪烁& & 2.USART 主要是为了能够 以便于以后(这里调用了UARTprintf函数)& & 3.TIMER0溢出中断 主要是为了练习中断的操作 & & 首先要打开启动文件Startup.s文件 然后找到那个你想要的中断& & 然后命名,假如你想用TIMER0中断 那么你在Startup.s文件中找到DCD& &&&IntDefaultH Timer 0 subtimer A这一行,将IntDefaultHandler 更换为你想要命名的中断函数名xxxx,最后在这一行下面在另起一行声明你用的中断函数 extern xxxx这样你配置玩中断就可以使用了& &&&4.GPIO端口中断 主要是为了使用按键 实现的功能 每当键按下小灯变成流水灯,再按一下停止,依次反复。下面上代码 main.c /*--------------文件信息---------------------------------------------------------* 文 件 名: main.c* 创 建 人: lixiaoxu* 创建日期: 日* 描 述: 主入口**---------- 版本信息------------------------------------------------------------ * 版 本: V1.0**-------------------------------------------------------------------------------*/#include "includes.h"/******************************************************************************* 本工程实现功能:1.LED 2.输出 3.中断 4.端口中断(key)* 注意:使用中断一定要在 Startup.s启动文件中 修改和添加 需要使用的中断*******************************************************************************/int main(void){ u8 count = 0;u32 time_count = 0;Set_System(); while(1){//查询按键中断 if(KEY_ID){//LED闪烁GPIOPinWrite(GPIO_PORTD_BASE, GPIO_PIN_0,~GPIO_PIN_0); //熄灭LED3GPIOPinWrite(GPIO_PORTD_BASE, GPIO_PIN_1,~GPIO_PIN_1); //熄灭LED4GPIOPinWrite(GPIO_PORTB_BASE, GPIO_PIN_0,~GPIO_PIN_0); //熄灭LED5GPIOPinWrite(GPIO_PORTB_BASE, GPIO_PIN_1,~GPIO_PIN_1); //熄灭LED6GPIOPinWrite(GPIO_PORTE_BASE, GPIO_PIN_0,~GPIO_PIN_0); //熄灭LED7GPIOPinWrite(GPIO_PORTE_BASE, GPIO_PIN_1,~GPIO_PIN_1); //熄灭LED8 switch(count){case 0: GPIOPinWrite(GPIO_PORTD_BASE, GPIO_PIN_0,GPIO_PIN_0); //点亮LED3case 1: GPIOPinWrite(GPIO_PORTD_BASE, GPIO_PIN_1,GPIO_PIN_1); //点亮LED4case 2: GPIOPinWrite(GPIO_PORTB_BASE, GPIO_PIN_0,GPIO_PIN_0); //点亮LED5case 3: GPIOPinWrite(GPIO_PORTB_BASE, GPIO_PIN_1,GPIO_PIN_1); //点亮LED6case 4: GPIOPinWrite(GPIO_PORTE_BASE, GPIO_PIN_0,GPIO_PIN_0); //点亮LED7case 5: GPIOPinWrite(GPIO_PORTE_BASE, GPIO_PIN_1,GPIO_PIN_1); //点亮LED8default:} Delay_Ms(100); //100ms延时count++;if(count &= 6) count = 0;}//查询定时器中断if(TIMER_ID){ TIMER_ID = 0;//串口输出time_count++;UARTprintf("定时器中断第%d次",time_count);}}}复制代码hw_config.c
#include "includes.h" //包含所需的头文件/*************************************************************************************** Function name: Set_System** Descriptions: 一些初始化** input parameters: count** output parameters: 无** Returned value: 无*************************************************************************************/void Set_System(void){JTAG_Wait(); //以防止JTAG锁死RCC_Configuration(); //配置时钟GPIO_Configuration(); //配置GPIOUSART_Configuration(); //配置USARTTIMER_Configuration(); //配置TIMER}/*************************************************************************************** Function name: JTAG_Wait** Descriptions: 防止的JTAG引脚锁死** input parameters: none** output parameters: none** Returned value: none*************************************************************************************/void JTAG_Wait(void){u32SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOC); // 使能KEY、LED所在的PC端口GPIOPinTypeGPIOInput(GPIO_PORTC_BASE, GPIO_PIN_4); // 设置KEY所在管脚PC4为GPIOPinTypeGPIOOutput(GPIO_PORTC_BASE, GPIO_PIN_5 ); // 设置LED所在管脚PC5为输出if (GPIOPinRead(GPIO_PORTC_BASE, GPIO_PIN_4) == 0x00) // 若复位或上电时按下KEY,则进入{ while(1) //死循环,以等待JTAG连接,LED闪烁{for(i=0;i&200000;i++);GPIOPinWrite(GPIO_PORTC_BASE, GPIO_PIN_5,GPIO_PIN_5); //点亮LEDfor(i=0;i&200000;i++);GPIOPinWrite(GPIO_PORTC_BASE, GPIO_PIN_5,~GPIO_PIN_5); //熄灭LED}}SysCtlPeripheralDisable(SYSCTL_PERIPH_GPIOC); // 禁止KEY所在的GPIO端口}/*************************************************************************************** Function name: RCC_Configuration** Descriptions: 系统时钟源设置** input parameters: none** output parameters: none** Returned value: none*************************************************************************************/void RCC_Configuration(void){SysCtlClockSet(SYSCTL_SYSDIV_1 | // SysCtlClockSet函数()系统时钟设置 采用主振荡器 外接6MHz晶振 不分频SYSCTL_USE_OSC |SYSCTL_OSC_MAIN |SYSCTL_XTAL_6MHZ);//如果用其他功能模块如PWM等 也需要设置其时钟}/*************************************************************************************** Function name: GPIO_Configuration** Descriptions: GPIO配置** input parameters: none** output parameters: none** Returned value: none*************************************************************************************/void GPIO_Configuration(){SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOB); // 使能LED所在的PB端口SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOC); // 使能LED所在的PC端口SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD); // 使能LED所在的PD端口SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOE); // 使能LED所在的PE端口GPIOPinTypeGPIOOutput(GPIO_PORTB_BASE, GPIO_PIN_0 ); // 设置LED所在管脚PB0为输出GPIOPinTypeGPIOOutput(GPIO_PORTB_BASE, GPIO_PIN_1 ); // 设置LED所在管脚PB1为输出GPIOPinTypeGPIOOutput(GPIO_PORTD_BASE, GPIO_PIN_0 ); // 设置LED所在管脚PD0为输出GPIOPinTypeGPIOOutput(GPIO_PORTD_BASE, GPIO_PIN_1 ); // 设置LED所在管脚PD1为输出GPIOPinTypeGPIOOutput(GPIO_PORTE_BASE, GPIO_PIN_0 ); // 设置LED所在管脚PE0为输出GPIOPinTypeGPIOOutput(GPIO_PORTE_BASE, GPIO_PIN_1 ); // 设置LED所在管脚PE1为输出/* 配置user按键端口为上升沿触发中断*/GPIOPinTypeGPIOInput(GPIO_PORTC_BASE,GPIO_PIN_4); //KEY IO 设置GPIOIntTypeSet(GPIO_PORTC_BASE,GPIO_PIN_4,GPIO_FALLING_EDGE); //KEY 中断设置,配置为下降沿触发。GPIOPinIntEnable(GPIO_PORTC_BASE,GPIO_PIN_4); //使能指定管脚的中断IntEnable(INT_GPIOC); //打开端口C中断IntMasterEnable(); //打开全局中断}/*************************************************************************************** Function name: USART_Configuration** Descriptions: USART配置** input parameters: none** output parameters: none** Returned value: none*************************************************************************************/void USART_Configuration(){//// Enable GPIO port A which is used for UART0 pins.// TODO: change this to whichever GPIO port you are using.//SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA);//// Configure the pin muxing for UART0 functions on port A0 and A1.// This step is not necessary if your part does not support pin muxing.// TODO: change this to select the port/pin you are using.//GPIOPinConfigure(GPIO_PA0_U0RX);GPIOPinConfigure(GPIO_PA1_U0TX);//// Select the alternate (UART) function for these pins.// TODO: change this to select the port/pin you are using.//GPIOPinTypeUART(GPIO_PORTA_BASE, GPIO_PIN_0 | GPIO_PIN_1);//// Initialize the UART for console I/O.//UARTStdioInit(0);}/*************************************************************************************** Function name: TIMER_Configuration** Descriptions: GPIO配置** input parameters: none** output parameters: none** Returned value: none*************************************************************************************/void TIMER_Configuration(){SysCtlPeripheralEnable(SYSCTL_PERIPH_TIMER0); //使能定时器0外设TimerConfigure(TIMER0_BASE,TIMER_CFG_32_BIT_PER); //设置定时器0为32位周期定时器TimerLoadSet(TIMER0_BASE, TIMER_A,6000000 ); //设置定时器装载值(时钟为6MHZ)定时1秒TimerIntEnable(TIMER0_BASE,TIMER_TIMA_TIMEOUT); //使能定时器 A 超时中断 (即溢出) TimerEnable(TIMER0_BASE, TIMER_A); //使能定时器0模块 IntEnable(INT_TIMER0A); //使能单个定时器中断源 IntMasterEnable(); //使能处理器总中断 } /*************************************************************************************** Function name: Timer_0A_IRS** Descriptions: TIMER中断** input parameters: none** output parameters: none** Returned value: none*************************************************************************************/void Timer_0A_IRS(){ TIMER_ID = 1;TimerIntClear(TIMER0_BASE,TIMER_TIMA_TIMEOUT); //清标志}/*************************************************************************************** Function name: GPIO_Port_C_ISR** Descriptions: GPIO中断** input parameters: none** output parameters: none** Returned value: none*************************************************************************************/void GPIO_Port_C_ISR(){ u32 ulStatus = GPIOPinIntStatus(GPIO_PORTC_BASE,1); //获取所指定GPIO端口的中断状态GPIOPinIntClear(GPIO_PORTC_BASE,GPIO_PIN_4); //清除指定管脚的中断if(ulStatus == GPIO_PIN_4){if(KEY_ID == 0) KEY_ID = 1;else KEY_ID = 0;}}/*************************************************************************************** Function name: Delay_Ms()** Descriptions: Ms级延时(Sysclk = 6MHZ)** input parameters: count ** output parameters: none** Returned value: none*************************************************************************************/void Delay_Ms(u32 count){while(count--){SysCtlDelay(Sysclk / 3000);}}复制代码hw_config.h
#ifndef __HW_CONFIG_H__#define __HW_CONFIG_H__void Set_System(void);void JTAG_Wait(void);void RCC_Configuration(void);void GPIO_Configuration(void);void USART_Configuration(void);void TIMER_Configuration(void); void Timer_0A_IRS(void);void GPIO_Port_C_ISR(void); void Delay_Ms(u32 count);#endif复制代码includes.h封装一些头文件
#include "hw_types.h" //一些类型的宏定义#include "hw_memmap.h" //定义内存的地址,如,程序,段#include "hw_ints.h" //中断序列号的宏定义#include "lm3s811.h" //LM3S811的各种寄存器设置#include "gpio.h" //GPIO的操作 #include "timer.h" //TIMER的操作#include "sysctl.h" //系统各寄存器的操作宏定义#include "uartstdio.h" //串口输出函数#include "interrupt.h" //中断函数头文件 #include "de_type.h" //自己定义的数据类型的宏定义 #include "hw_config.h" //封装一些函数的头文件#include "variables.h" //变量复制代码de_type.h 定义数据类型
#ifndef __DE_TYPE_H__#define __DE_TYPE_H__typedef signed long s32;typedef signed short s16;typedef signed char s8;typedef signed long const sc32; /* Read Only */typedef signed short const sc16; /* Read Only */typedef signed char const sc8; /* Read Only */typedef volatile signed long vs32;typedef volatile signed short vs16;typedef volatile signed char vs8;typedef volatile signed long const vsc32; /* Read Only */typedef volatile signed short const vsc16; /* Read Only */typedef volatile signed char const vsc8; /* Read Only */typedef unsigned long u32;typedef unsigned short u16;typedef unsigned char u8;typedef unsigned long const uc32; /* Read Only */typedef unsigned short const uc16; /* Read Only */typedef unsigned char const uc8; /* Read Only */typedef volatile unsigned long vu32;typedef volatile unsigned short vu16;typedef volatile unsigned char vu8;typedef volatile unsigned long const vuc32; /* Read Only */typedef volatile unsigned short const vuc16; /* Read Only */typedef volatile unsigned char const vuc8; /* Read Only */#endif复制代码variables.c定义全局变量
/* Includes ------------------------------------------------------------------*/#include "includes.h"u8 TIMER_ID =0;u8 KEY_ID =0;复制代码variables.h声明全局变量
#ifndef __VARIABLES_H__#define __VARIABLES_H__/* Includes ------------------------------------------------------------------*/#include "includes.h"#define Sysclk 6000000extern u8 TIMER_ID;extern u8 KEY_ID;#endif /* __VARIABLES_H__ */复制代码uartstdio.c文件 库自带的只需添加到工程中即可
作者的其他最新日志
评论 ( 个评论)
Powered by一、GPIO有关的函数1. GPIO_ModeSetup:函数原型:void GPIO_ModeSetup(kal_uint16 pin, kal_uint16 conf_dada)功能:设置GPIO的工作模式是作为GPIO,还是作为专有功能接口。参数:pin:GPIO 的pin脚号,对应于原理图上MTK62XX 主CPU芯片的上的GPIO标号。conf_dada:值有0~3。其中0是表示作为GPIO模式,其他根据专有功能的不同进行设置。2. GPO_InitIO函数原型:void GPIO_InitIO(char direction, char port)功能:初始化GPIO的工作方向是作为输入,还是作为输出参数:direction:工作方向,0表示输入,1表示输出port:GPIO的pin脚3. GPIO_ReadIO函数原型:char GPIO_ReadIO(char port)功能:从GPIO读取数据参数:port:GPIO的pin脚4. GPIO_WriteIO函数原型:void GPIO_WriteIO(kal_char data, kal_char port)功能:往GPIO写数据参数:data: 1表示给高电平,0表示给低电平port:GPIO的pin脚备注:
(1)这些函数在Gpio.C中可以找到。
(2)GPIO中的pin脚用GPIO_PORT_n来表示,GPIO_PORT_n在gpio_drv.h中定义。需找到gpio_drv.h并将之拷贝到intface/hwdrv下
(3)使用GPIO要用到的头文件:
#include "gpio_hw.h"
#include "gpio_sw.h"
#include "gpio_def.h"
#include "gpio_drv.h"
版权声明:本文为博主原创文章,未经博主允许不得转载。
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:18163次
排名:千里之外
原创:18篇
转载:17篇
(1)(2)(2)(2)(4)(2)(12)(10)}

我要回帖

更多关于 linux gpio 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信