韦东山裸机代码

源代码在线查看: init.c

软件大小: 156 K
上传用户: newyearday
关键词: 代码
下载地址: 免注册下载 普通下载 VIP

相关代码

				/*				 * init.c: 进行一些初始化				 */ 								#include "s3c24xx.h"								/*				 * LED1-4对应GPB5、GPB6、GPB7、GPB8				 */				#define GPB5_out        (1				#define GPB6_out        (1				#define GPB7_out        (1				#define GPB8_out        (1								/*				 * K1-K4对应GPG11、GPG3、GPF2、GPF0				 */				#define GPG11_eint      (2				#define GPG3_eint       (2				#define GPF2_eint       (2				#define GPF0_eint       (2								 				/*				 * 关闭WATCHDOG,否则CPU会不断重启				 */				void disable_watch_dog(void)				{				    WTCON = 0;  // 关闭WATCHDOG很简单,往这个寄存器写0即可				}								void init_led(void)				{				    GPBCON = GPB5_out | GPB6_out | GPB7_out | GPB8_out ;				}								/*				 * 初始化GPIO引脚为外部中断				 * GPIO引脚用作外部中断时,默认为低电平触发、IRQ方式(不用设置INTMOD)				 */ 				void init_irq( )				{				    GPFCON  = GPF0_eint | GPF2_eint;				    GPGCON  = GPG3_eint | GPG11_eint;				    				    // 对于EINT11、19,需要在EINTMASK寄存器中使能它们				    EINTMASK &= (~(1				        				    /*				     * 设定优先级:				     * ARB_SEL0 = 00b, ARB_MODE0 = 0: REQ1 > REQ3,即EINT0 > EINT2				     * 仲裁器1、6无需设置				     * 最终:				     * EINT0 > EINT2 > EINT11,EINT19,即K4 > K3 > K1,K2				     * EINT11和EINT19的优先级相同				     */				    PRIORITY = (PRIORITY & ((~0x01) | (0x3								    // EINT0、EINT2、EINT8_23使能				    INTMSK   &= (~(1				}																							

相关资源