LED操作

灯上拉

GPIO_InitTypeDef GPIO_InitStruct;
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOB, ENABLE);

GPIO_InitStruct.GPIO_Pin = GPIO_Pin_0;
GPIO_InitStruct.GPIO_Mode = GPIO_Mode_OUT;
GPIO_InitStruct.GPIO_OType = GPIO_OType_PP;
GPIO_InitStruct.GPIO_Speed =GPIO_Speed_Level_3;
GPIO_Init(GPIOB, &GPIO_InitStruct);

GPIO_SetBits(GPIOB, GPIO_Pin_0);

取反:

#define RE_LED1 GPIO_WriteBit(GPIOB, GPIO_Pin_1,(BitAction)((1-GPIO_ReadOutputDataBit(GPIOB, GPIO_Pin_1))));

置为0或1

#define LED1OFF {GPIOB->BSRR = GPIO_Pin_0;} //B0 = 1
#define LED1ON {GPIOB->BRR = GPIO_Pin_0;} //B0 = 0

/*****************************************************************************
可置任意管脚为 1
******************************************************************************/
void LED_Close(GPIO_TypeDef* GPIOx,uint16_t GPIO_Pin)
{
GPIO_SetBits(GPIOx, GPIO_Pin);

}
/*****************************************************************************
可置任意管脚为 0
******************************************************************************/
void LED_Open(GPIO_TypeDef* GPIOx,uint16_t GPIO_Pin)
{
GPIO_ResetBits(GPIOx, GPIO_Pin);
}

时间: 2024-10-18 13:29:57

LED操作的相关文章

《FPGA全程进阶---实战演练》第五章 基于74HC595的LED操作

1基础理论部分 1.1分频 分频,是的,这个概念也很重要.分频是指将一单一频率信号的频率降低为原来的1/N,就叫N分频.实现分频的电路或装置称为“分频器”,如把33MHZ的信号2分频得到16.5MHZ的信号,3分频得到11MHZ的信号,10分频得到3.3MHZ的信号. 分频主要是相对于主晶振来说,用不到那么高的频率,开发板一般根据具体需要会加入晶振,一般若是功耗较高可选用50MHz,其他情况可以相对调整,如24MHz等等.那么分频的典型应用,二分频,四分频,八分频,还有任意分频. 对于分频,我们

Tiny4412汇编流水灯代码,Tiny4412裸机LED操作[1]

从今天开始就正式进入到tiny4412的开发学习中了,今天主要看了一下Tiny4412的启动流程及存储器映射及Exynos4412数据手册,用汇编写了一个跑马灯程序(后续会有C语言版本的出来),先说一下我的开发环境吧: 开发板:Tiny4412 增强版 (底板是Tiny4412ADK 1312) 开发工具:UltraEdit 宿主机:VmWare Ubuntu12.04(64bit) 编译工具:arm-linux-gcc4.5.1 为了便于分类管理,特意开了一个Tiny4412学习专区,希望对大

基于S3C2440的linux-3.6.6移植——LED驱动【转】

本文转载自:http://www.voidcn.com/blog/lqxandroid2012/article/p-625005.html 目前的linux版本的许多驱动都是基于设备模型,LED也不例外. 简单地说,设备模型就是系统认为所有的设备都是挂接在总线上的,而要使设备工作,就需要相应的驱动.设备模型会产生一个虚拟的文件系统——sysfs,它给用户提供了一个从用户空间去访问内核设备的方法,它在linux里的路径是/sys.如果要写程序访问sysfs,可以像读写普通文件一样来操作/sys目录

Android应用层操作GPIO

Android应用层操作GPIO的方法: http://my.oschina.net/u/1176566/blog/177554 在使用某个GPIO之前首先的保证此GPIO没有正在被使用,否则是无法操作的: 如NAND模块的NCE3/PC18,此io口正被使用,在导入echo 74 > /sys/class/gpio/export时没问题,但是设置方向是无权操作,如图: 下面是我写的DEMO,单独操作GPIO和控制LED操作的代码.之前想用C部分来操作,然后通过JNI把方法暴露给上层,但是貌似C

一、GPIO操作

1.1 硬件原理图 四个引脚接到LED上,跟别是GPF4,GPF5,GPF6和GPF7,前三个引脚分别控制三个LED,GPF7此引脚作为DM9000网卡的中断. 发光二极管的正极接3.3V电源,负极接在MCU上,当MCU的对应的引脚给一个低电平的时候,电路导通,发光二极管发光. 芯片手册,GPIO配置,如下图,控制LED的属于GPF管脚: GPF的寄存器如下图: GPFCON:GPF管脚的控制寄存器 GPFDAT:GPF管脚的数据寄存器 GPFUP:GPF上拉使能的寄存器 GPF4-GPF6对应

kobuki 学习笔记for ROS

kobuki 学习笔记 具体参考:http://wiki.ros.org/kobuki/Tutorials 1.安装 1.1.安装包: sudo apt-get install ros-hydro-kobuki ros-hydro-kobuki-core 1.2.是能USB连接 rosrun kobuki_ftdi create_udev_rules 1.3.键盘控制 roslaunch kobuki_node minimal.launch    最小操作 roslaunch kobuki_ke

【转】朱兆祺带你一步一步学习嵌入式(连载)

原文网址:http://bbs.elecfans.com/jishu_357014_2_1.html#comment_top  从最初涉及嵌入式Linux开始到现在,深深的知道嵌入式的每一步学习都是举步维艰.从去年11月份开始,我就着手整理各种学习资料,希望推动嵌入式学习的前进贡献自己微不足道的一份力量.从去年到现在,将C语言的学习经验整理成<攻破C语言笔试与机试陷阱及难点>(现在仍在更新),这份资料已经在电子发烧友论坛的单片机论坛连载(http://bbs.elecfans.com/jish

程序的位置与运行时间有关

一.概述 在我测量mian函数大循环的周期时,发生了怪事:我一点也没有更改main函数的代码,只在初始化时添加了一些无用的语句,结果测量时间发生了巨大的差异. 二.事件详情 1.测试代码 main函数 /** * @brief 主函数 * @param 无 * @retval 无 */ int main(void) { LED_GPIO_Config(); /* USART1 config 115200 8-N-1 */ USART1_Config(); /** * @brief 通过注释掉程序

Android 4.4.2 动态加入JNI库方法记录 (一 JNI库层)

欢迎转载,务必注明出处.http://blog.csdn.net/wang_shuai_ww/article/details/44456755 本篇是继<s5p4418 Android 4.4.2 驱动层 HAL层 服务层 应用层 开发流程记录>之后的第二种加入JNI和服务的方法. 前面的方法是直接把HAL和服务层加入到了.Android的api中.这种方式优点是操作系统已开发完毕,剩下做APP的开发,那么我们仅仅须要一个classes.jar文件就可以使用我们自己Android系统的被隐藏的