4.10
来源:互联网 发布:浮点型数据是什么 编辑:程序博客网 时间:2024/05/21 19:22
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "mmu.h"
#include "typedef.h"
#include "s3c2451_gpio.h"
#include "S3C2451_uart.h"
#include "S3C2451_irq.h"
#include "S3C2451_vector.h"
//#include "S3C2451_eint.h"
void delay(unsigned int count)
{
int j = 1000;
int i = 0;
while(--j)
for(i =count; i > 0; i --);
}
//void uart0_irq()
//{
// U8 recv;
//
// if(IRQ1_GetSUBPND(SUB_INT_RXD0) == BIT_SET)
// {
// IRQ1_ClearSUBPND(SUB_INT_RXD0);
// IRQ1_ClearPND(INT_UART0);
// recv = UART_ReceiveData(UART0);
// }
//
// if(IRQ1_GetSUBPND(SUB_INT_ERR0) == BIT_SET)
// {
// IRQ1_ClearSUBPND(SUB_INT_ERR0);
// }
//
// UART_SendData(UART0,recv);
//}
void eint0_irq()
{
IRQ1_ClearPND(INT_EINT0);
GPIO_WriteBit(GPIOB,GPIO_PIN_5,BIT_RESET);
}
void EINT_IRQService_Init(GPIO_Typedef portx,U32 pinx,U32 addr)
{
if(portx == 5)
{
switch(pinx)
{
case GPIO_PIN_0:
pISR_EINT0 = addr;
break;
case GPIO_PIN_1:
pISR_EINT1 = addr;
break;
case GPIO_PIN_2:
pISR_EINT2 = addr;
break;
case GPIO_PIN_3:
pISR_EINT0 = addr;
break;
}
}
}
void Main()
{
// U8 a[15];
// U8 i = 0,j,k;
// U8 flag = 0;
GPIO_Init_Typedef gpio_init_struct;
UART_Init_Typedef uart_init_struct;
//MMU初始化:在程序最开始的时候调用
MMU_Init();
//gpio(灯3)
gpio_init_struct.pinx = GPIO_PIN_5;
gpio_init_struct.mode = GPIO_MODE_OUT;
gpio_init_struct.udp = GPIO_UDP_DISABLE;
//(按键0)
gpio_init_struct.pinx = GPIO_PIN_0;
gpio_init_struct.mode = GPIO_MODE_ALT;
gpio_init_struct.udp = GPIO_UDP_DISABLE;
//uart
uart_init_struct.baudrate = 11520;
uart_init_struct.wordwidth = WordWidth_8BIT;
uart_init_struct.parity = Parity_No;
uart_init_struct.stop = STOP_1Bit;
uart_init_struct.mode = UART_Mode_TX | UART_Mode_RX; //发送或接收
UART_Init(UART0,uart_init_struct);
GPIO_Init(GPIOB,gpio_init_struct);
GPIO_Init(GPIOF,gpio_init_struct);
EINT_IRQService_Init(GPIOF,GPIO_PIN_0,(U32)eint0_irq); //外部中断
// UART_IRQService_Init(UART0,(U32)uart0_irq); //注册中断服务程序
IRQ1_INTMask_Init(INT_EINT0,ENABLE); //开仆外部中断
// IRQ1_INTMask_Init(INT_UART0,ENABLE); //开启串口中断
// IRQ1_INTSUBMask_Init(SUB_INT_RXD0,ENABLE); //开启串口子中断
while(1)
{
// GPIO_WriteBit(GPIOB,GPIO_PIN_5,BIT_RESET);
// delay(12000);
// GPIO_WriteBit(GPIOB,GPIO_PIN_5,BIT_SET);
// delay(12000);
}
}
#include <stdlib.h>
#include <string.h>
#include "mmu.h"
#include "typedef.h"
#include "s3c2451_gpio.h"
#include "S3C2451_uart.h"
#include "S3C2451_irq.h"
#include "S3C2451_vector.h"
//#include "S3C2451_eint.h"
void delay(unsigned int count)
{
int j = 1000;
int i = 0;
while(--j)
for(i =count; i > 0; i --);
}
//void uart0_irq()
//{
// U8 recv;
//
// if(IRQ1_GetSUBPND(SUB_INT_RXD0) == BIT_SET)
// {
// IRQ1_ClearSUBPND(SUB_INT_RXD0);
// IRQ1_ClearPND(INT_UART0);
// recv = UART_ReceiveData(UART0);
// }
//
// if(IRQ1_GetSUBPND(SUB_INT_ERR0) == BIT_SET)
// {
// IRQ1_ClearSUBPND(SUB_INT_ERR0);
// }
//
// UART_SendData(UART0,recv);
//}
void eint0_irq()
{
IRQ1_ClearPND(INT_EINT0);
GPIO_WriteBit(GPIOB,GPIO_PIN_5,BIT_RESET);
}
void EINT_IRQService_Init(GPIO_Typedef portx,U32 pinx,U32 addr)
{
if(portx == 5)
{
switch(pinx)
{
case GPIO_PIN_0:
pISR_EINT0 = addr;
break;
case GPIO_PIN_1:
pISR_EINT1 = addr;
break;
case GPIO_PIN_2:
pISR_EINT2 = addr;
break;
case GPIO_PIN_3:
pISR_EINT0 = addr;
break;
}
}
}
void Main()
{
// U8 a[15];
// U8 i = 0,j,k;
// U8 flag = 0;
GPIO_Init_Typedef gpio_init_struct;
UART_Init_Typedef uart_init_struct;
//MMU初始化:在程序最开始的时候调用
MMU_Init();
//gpio(灯3)
gpio_init_struct.pinx = GPIO_PIN_5;
gpio_init_struct.mode = GPIO_MODE_OUT;
gpio_init_struct.udp = GPIO_UDP_DISABLE;
//(按键0)
gpio_init_struct.pinx = GPIO_PIN_0;
gpio_init_struct.mode = GPIO_MODE_ALT;
gpio_init_struct.udp = GPIO_UDP_DISABLE;
//uart
uart_init_struct.baudrate = 11520;
uart_init_struct.wordwidth = WordWidth_8BIT;
uart_init_struct.parity = Parity_No;
uart_init_struct.stop = STOP_1Bit;
uart_init_struct.mode = UART_Mode_TX | UART_Mode_RX; //发送或接收
UART_Init(UART0,uart_init_struct);
GPIO_Init(GPIOB,gpio_init_struct);
GPIO_Init(GPIOF,gpio_init_struct);
EINT_IRQService_Init(GPIOF,GPIO_PIN_0,(U32)eint0_irq); //外部中断
// UART_IRQService_Init(UART0,(U32)uart0_irq); //注册中断服务程序
IRQ1_INTMask_Init(INT_EINT0,ENABLE); //开仆外部中断
// IRQ1_INTMask_Init(INT_UART0,ENABLE); //开启串口中断
// IRQ1_INTSUBMask_Init(SUB_INT_RXD0,ENABLE); //开启串口子中断
while(1)
{
// GPIO_WriteBit(GPIOB,GPIO_PIN_5,BIT_RESET);
// delay(12000);
// GPIO_WriteBit(GPIOB,GPIO_PIN_5,BIT_SET);
// delay(12000);
}
}
0 0
- 4.10
- 4.10
- 4.10
- 4.10
- 4.10
- 4.10
- 4.8~4.10
- junit 4.10
- 4.10作业
- 4.10-char2
- 4.10 练习
- 4.10 Vitamio
- 4.10easyui
- 4.10 包
- FreeBSD 4.10 汉化总结
- 被感冒困扰 4.10
- badcopy 4.10 注册码
- 传智播客学习笔记4.10
- Linux常用命令
- 数据库的主从配置 读写分离 中间件之-------Amoeba
- Python+Selenium练习篇之23-组合键-全选文字
- 贪心算法//旧文迁移
- server 内部异常堆栈跟踪的结尾
- 4.10
- JSON WEB TOKEN 介绍
- 存储阵列技术与应用
- SSL 2639 简单的数学题
- java开发第一天该做些什么?
- 17-TCP 协议(迟到的 ACK —— Windows )
- drbd安装配置
- C++之friend友元类和友元函数
- 一段matlab代码