嵌入式开发第44天(GPIO的使用)
来源:互联网 发布:淘宝售后服务专员认证 编辑:程序博客网 时间:2024/05/17 19:59
为什么存在GPIO?
在讲GPIO以前先讲讲arm处理器跟GPIO的关系,想象一下处理器是怎么造出来的,为什么他可以做出如此多的运算。
原来在机器运算里面,他们的世界只有0与1,但人类为了更好的分配无数的0和1,他给每个位都分配了一个对应的名字。
所以产生寄存器,每个寄存器都是独特的,他们都有各自的疆域,也就是对应的物理地址,你要用GPIO,就需要,到他所在的地址那解放出来。
GPIO就是寄存器中的一员,在S5PV210处理器里他所管理的疆域是包括237多功能输入/输出端口引脚和142内存端口别针。
怎么点亮开发板上的一盏灯?
你要点灯当然需要通电啊,怎么通对应的电?
1、GPJ2CON --->GPJ2配置寄存器//也就灯的电源总闸
配置GPJ2组GPIO中各个引脚的功能。
2、GHJ2DAT ---->数据寄存器 //即使电源总闸打开了,对应的灯也得打开啊
让名为GPJ2_2的灯一闪一闪
#define GPJ2CON (*(volatile unsigned int *)0xe0200280)#define GPJ2DAT (*(volatile unsigned int *)0xe0200284)void delay(int val);void _start(void){//GPJ2_2 --->output ,GPJ2CON[11:8]=0001GPJ2CON &= ~(0xf<<8); //清零GPJ2CON |= (0x1<<8);//打开对应灯的总闸while(1){//GPJ2_2 ouput '0', LED3 亮,GPJ2DAT[2]=0GPJ2DAT &= ~(1<<2);delay(0x300000);//延时函数//GPJ2_2 ouput '1', LED3 灭,GPJ2DAT[2]=1GPJ2DAT |= (1<<2);delay(0x300000);}}void delay(int val){int i;for(i=0;i<val;i++);}
0 0
- 嵌入式开发第44天(GPIO的使用)
- 嵌入式开发第42天(ARM的体系结构)
- 嵌入式开发第47天(看门狗定时器的原理)
- 嵌入式开发第50天(s5pv210的LCD原理)
- am335x嵌入式开发-GPIO操作
- 嵌入式开发第49天(RTC)
- 嵌入式Linux应用开发完全手册(二)GPIO
- stm8s开发(二) GPIO的使用:点亮LED!
- gpio驱动开发第一天
- 嵌入式开发第46天(ARM的时钟体系)
- 嵌入式Linux基于Qt开发GPIO应用
- 嵌入式开发第17天(数据结构、链表的操作)
- 嵌入式开发第45天(ARM中断的原理与应用)
- 嵌入式开发第48天(ADC的原理与应用)
- 嵌入式Linux下面查看gpio使用情况
- 嵌入式Linux下使用GPIO中断功能
- 嵌入式开发第30天(线程池)
- 嵌入式开发第37天(shell编程:shell是什么?)
- iOS - + initialize 与 +load
- servlet学习总结三
- 自定义viewGroup childView的测量宽度时出现偏差 http://blog.csdn.net/u011102153/article/details/52245312
- Myeclipse创建Maven JAVA项目
- Glide入门教程——5.图片大小调整 & 缩放
- 嵌入式开发第44天(GPIO的使用)
- web前端学习(6)
- [Android] ListView/GridView 滚动时动态填充空白边距padding(android:clipToPadding)
- LeetCode进阶之路(Unique Paths)
- 【华为练习题】二叉树遍历
- 暗黑字符串
- Glide入门教程——6.播放Gif & 视频
- strncpy源码
- 区块链小结及思考