📄 int0_api.c
字号:
/*
* int0_api.c - int0 api ( user-level )
*
* Author: li ming <admin@lumit.org>
* Date: 2005-6-12
* Copyleft: http://www.lumit.org
*/
#include "int0_api.h"
extern int request_irq( unsigned int irq, void (*handler)(void) );
static void (*int0_irq_hooker)(void) = 0;
void int0_irq_handler( void )
{
// here we add some user code for int0_irq
if( int0_irq_hooker )
int0_irq_hooker();
// here we call low-level int0_irq_handler
int0_ioctl( INT0_CLEAR_INTERRUPT, 0 );
return;
}
void int0_install_irq_hooker( void (*handler)(void) )
{
int0_irq_hooker = handler;
}
/* set int0 related gpio */
int int0_init( void )
{
// External interrupt 0 source number is 0
request_irq( 0, int0_irq_handler );
int0_open();
// set int0 interrupt edge detect
int0_ioctl( INT0_RISING_EDGE_INTERRUPT, 0 );
// enable int0 interrupt
int0_ioctl( INT0_ENABLE_INTERRUPT, 0 );
// set active high
int0_ioctl( INT0_ACTIVE_HIGH, 0 );
return 0;
}
int int0_test( void )
{
int0_init();
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -