cc2530裸机编程系列笔记4--GPIO口的使用
来源:互联网 发布:javascript打印菱形 编辑:程序博客网 时间:2024/06/07 04:54
CC2530的GPIO口的使用与普通51单片机略有不同,主要体现在IO口在使用之前需要进行功能及方向的设定。功能的设置指的是把IO口设置为普通IO口还是当作特殊功能来使用。方向的设定指的是将IO口设为输入或输出。进行这两个设置使用的寄存器分别为PxSEL和PxDIR。
CC2530 的SFR 中有三类寄存器可用于配置这些IO 口:
①PxSEL(x 为0/1/2):P0/P1/P2 口功能选择
0:通用数字IO,1:外设IO,缺省默认为0
②PxDIR(x 为0/1/2):P0/P1/P2 口方向
0:输入,1:输出,缺省默认为0
③PxINP(x 为0/1):P0/P1 口输入模式
0:上拉/下拉,1:三态,缺省默认为0
在使用IO 口时需配置,若缺省,则取系统默认值。设置代码如下:
P1SEL = 0x00; //设置P1 为普通 I/O 口P1DIR |= 0x0F; //设置P1_0、P1_1 为输出对开发板上的LED进行闪灯的操作,具体程序为:
//引入头文件#include <ioCC2530.h> //引入CC2530 所对应的头文件(包含各SFR 的定义)//定义LED 引脚#define led1 P1_0 //定义LED1 为P1_0 口控制#define led2 P1_1 //定义LED2 为P1_1 口控制void Delay(unsigned char n){unsigned char i;unsigned int j;for(i = 0; i < n; i++)for(j = 1; j; j++);}void main(void){P1SEL = 0x00; //设置P1 为普通 I/O 口P1DIR |= 0x03; //设置P1_1,P1_1 为输出led1 = 1; //初始化,4 个led 灯全熄led2 = 1;while(1) //开始循环{led1 = 0; //led1 闪烁Delay(10);led1 = 1;Delay(10);led2 = 0; //led2 闪烁Delay(10);led2 = 1;Delay(10);}}
By:霜月孤鸟
2015.12.6
0 0
- cc2530裸机编程系列笔记4--GPIO口的使用
- cc2530裸机编程系列笔记5--中断
- cc2530裸机编程系列笔记6--外中断程序(转载)
- cc2530裸机编程系列笔记1--定时器Timer1模模式的程序设计
- cc2530裸机编程系列笔记2--定时器Timer1模模式程序(中断方式)
- cc2530裸机编程系列笔记3--定时器Timer1自由模式程序
- 使用TI CC2530的GPIO控制Led
- CC2530裸机编程-定时器1
- GPIO裸机编程
- 002_<ARM9从裸机到Linux操作系统>____裸机篇__S3C2440的GPIO编程
- 裸机系列——GPIO口上拉电阻
- CC2530学习笔记のGPIO配置——点亮LED
- ARM裸机编程系列----buzzer
- ARM裸机编程系列--nand
- ARM裸机编程系列---UART
- ARM裸机编程系列----nandflash
- STM32学习笔记(1):GPIO口的使用
- STM32学习笔记之GPIO口的使用
- OTG – Android USB Hos
- 关于iOS地图定位中点击设置->隐私->定位服务 闪退问题
- IOS开发记录(二)
- mysql Connector C/C++ 多线程封装
- Android Studio apk 打包流程
- cc2530裸机编程系列笔记4--GPIO口的使用
- WebService入门讲解
- leetcode第66题Plus One
- 初始化-便利构造器(代码)
- 如何刷Android6.0
- nginx学习笔记之安装
- Roberts边缘检测
- C数组与字符串
- Recently-近期