您的位置: OpenADSP社区论坛 -> Blackfin专区 -> 新手上路 -> BF592技术支持专区 -> BF592处理器应用设计4.1-IO输出点亮1个LED灯... 
本帖共有549个阅读者
发表帖子 发表投票 回复主题
BF592处理器应用设计4.1-IO输出点亮1个LED灯方法一
尊贵身份标志
OpenADSP(管理员)
OpenADSP
头衔:社区公民
帮派:无帮无派
帖数:5187
金钱:34761
积分:6369
注册时间:2011/6/7
楼主信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
BF592处理器应用设计4.1-IO输出点亮1个LED灯方法一

程序功能

这个例子程序主要是学习,如何将BF592管脚配置成GPIO口,然后如何将GPIO口配置成输出口,如何使用IO的数据寄存器(PORTGIO)让对应的IO口输出高低电平。



杜邦线连接( BF592 GPIO         功能模块 )

BF592 GPIO

功能模块

杜邦线数量

功能

PG0~PG7

J18

8

LED


我是OP...
等级:管理员 参考IP地址:*.*.*.*
2012/8/9 9:53:26
尊贵身份标志
OpenADSP(管理员)
OpenADSP
头衔:社区公民
帮派:无帮无派
帖数:5187
金钱:34761
积分:6369
注册时间:2011/6/7
1信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线

程序说明

上传的图片
  2012899541851.jpg [ 29.39 KB 427×145 ] (缩略时请点击查看原图)

 

上传的图片
  2012899542551.jpg [ 68.03 KB 537×377 ] (缩略时请点击查看原图)

 



我是OP...
等级:管理员 参考IP地址:*.*.*.*
2012/8/9 9:54:33
尊贵身份标志
OpenADSP(管理员)
OpenADSP
头衔:社区公民
帮派:无帮无派
帖数:5187
金钱:34761
积分:6369
注册时间:2011/6/7
2信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线

实验结果

下载程序后,可以看到连接在 PG0口的 LED 灯不停的闪烁,其他 LED 熄灭。

知识要点及提问

1. #define LED0 PG0,这是一个宏定义,以后只要使用到PG0的地方都可以用LED0替换,这样增强了程序的可读性,PG0是在头文件defBF59x_base.h中定义的,PG0 = 0x0001。

2.该程序对IO口操作使用的是直接对这个IO对应的数据寄存器进行操作的。

3.程序中对IO口操作一般都是用与非(&~)或者或(| )操作,这样的好处是在对一个寄存器某一位操作的时候不会影响到其他的位,在以后的程序集成中有很大的用处,如:

*pPORTGIO &= ~LED0;  只让PORTG端口的PG0变低,其它的位保持不变

*pPORTGIO |= LED0;    只让PORTG端口的PG0变高,其它的位保持不变

4.在这个工程中,我们看到有三个程序文件“cpu.c,cpu.h,main.c”,当然,我们也可以把这三个文件合并成一个文件,但是那样会让程序变的很乱,所以我们一般将同一类的函数都放到一个文件中,然后建立一个相同文件名的.h的头文件,把函数都在头文件里声明一下,然后在需要使用的地方把这个头文件包含进去,就比如图中#include "cpu.h",在同一个工程下,#include之后包含的文件只要加双引号就可以了。

5.学习者可以修改成让其他LED灯闪烁的程序。


我是OP...
等级:管理员 参考IP地址:*.*.*.*
2012/8/9 9:55:29
Powered by OpenADSP Copyright © 2010 www.Openadsp.com. All rights reserved.154298 Call, 1 Queries, Processed in 0.187500 second(s),