头文件的编写(例子:按钮中断控制LED亮灭)
来源:互联网 发布:牛肉干市场调查数据 编辑:程序博客网 时间:2024/05/16 04:59
有很多人喜欢所有代码写在一起,但我个人认为一旦多了就会很乱,所以我觉得头文件是很有必要的。
举个例,在一个实验中想点亮开发板上的LED灯,又想通过KEY来控制,那样就必须有LED灯和KEY的初始化,还有LED等的变化函数。如果全部写在一起主函数变得就很长了。而且以后增加功能要调用它们时也就变得更长了,阅读的效果也会变差。
1.LED.h——函数声明,头文件调用
#ifndef __LED_H__#define __LED_H__#include <ioCC2530.h>#define LED P1_0void LED_Initial (void);void LED_Toggle (void);#endif
2.LED.c——LED所涉及的函数的定义
#include "LED.h"void LED2_Initial(){ P1SEL &= ~0x02;//定为io口 P1DIR |= 0x02;//定为普通输入口}void LED_Toggle(){ LED=~LED;}
3.KEY.h——函数声明,头文件调用
#ifndef __KEY_H__#define __KEY_H__#include <ioCC2530.h>#define KEY P0_1void KEY_Initial (void);#endif
4.KEY.C——KEY所涉及的函数的定义
#include "KEY.h"void KEY2_Initial(){ P0SEL &= ~0x02;//定为io口 P0DIR &= ~0x02;//定为普通输入口 P0INP |= 0x02;//上拉 EA=1;//开总中断 IEN1 |= 0X20;//开P0中断 P0IEN |= 0x02;//开P0_1中断 PICTL &= ~0X01;//上升沿 P0IFG &= 0x00;//中断控制位 }
5.test.c——测试程序
#include "LED.h"#include "KEY.h"void delay(){ int x,y; for(x=100;x>0;x--) for(y=320;y>0;y--);}void main(){ LED_Initial(); KEY_Initial(); while(1); }#pragma vector = P0INT_VECTOR__interrupt void P0ISR(void){ if(KEY==0){ delay(); if(KEY==0) if(P0IFG>0){ P0IFG = 0;//中断控制位 LED_Toggle(); } }}
0 0
- 头文件的编写(例子:按钮中断控制LED亮灭)
- wince6.0 +S3C6410 中断处理例子(按键控制LED灯)+应用程序控制LED流水灯
- 基于mini2440的按键中断控制LED(裸机代码)
- wince6.0 +S3C6410 中断处理例子(按键控制LED灯)
- 用中断的方式都控制LED
- S3C2410 按键控制LED(中断)
- 中断控制LED灯亮灭
- arm中断控制led
- CASIO DT930程序编写(例子程序头文件)
- arduino按钮控制LED
- android jni的编写, 控制led灯
- 头文件的编写
- android驱动例子(LED灯控制)
- Android驱动例子(LED灯控制)
- Android驱动例子(LED灯控制)
- Android驱动例子(LED灯控制)
- Android驱动例子(LED灯控制)
- android驱动例子(LED灯控制)
- 从逻辑回归到SVM
- eclipse build path功能总结
- stm32f10x_startup.s的代码
- build.prop 文件的部分参数
- 【C/C++】JAVA与C/C++ AES加密算法同步
- 头文件的编写(例子:按钮中断控制LED亮灭)
- python——类型 对象 变量
- Java中static关键字用法总结
- JSP+Servlet实现登录功能.
- listview条目点击可展开(初级)
- 冒泡排序
- 08001-命名管道提供程序:无法打开与SQL Server的连接[1326]
- Java面试
- 教训-单片机TTL串口电平不稳定