S3C2440 GPIO (使用miniARM 2440)

发布者:TranquilMind88最新更新时间:2024-06-11 来源: elecfans关键字:S3C2440  GPIO  miniARM 手机看文章 扫描二维码
随时随地手机看文章

S3C2440 GPIO (使用miniARM 2440):

  1. #ifndef LDE_H   

  2. #define LED_H   

  3.   

  4. #include '2440addr.h'   

  5. //GPB 有 PIN0 到 PIN10 共11个引脚   

  6. //rGPBCON 寄存器的每两个位控制一个IO的输入输出方向   

  7. //其中00表示输入   

  8. //    01表示输出   

  9. //    10为使用第二功能   

  10. //    11为出厂保留   

  11. //***************************************************   

  12.   

  13. //功能:流水灯   

  14. //接口:      GPB5 -> LED1   低 灯亮   

  15. //            GPB6 -> LED2   

  16. //            GPB7 -> LED3   

  17. //            GPB8 -> LED4   

  18. //            GPB0 -> 蜂鸣器 高 蜂鸣器响   

  19. //***************************************************   

  20. extern void delay(U32 tt);  

  21. extern void BeeperInit(void);  

  22. extern void BeeperControl(U8 flag);  

  23. extern void LedInit(void);  

  24. extern void LedControl(U8 led,U8 flag );  

  25. #endif  

 

  1. #include 'led.h'   

  2.   

  3. void delay(U32 tt)  

  4. {  

  5.      U32 i;  

  6.    for(;tt>0;tt--)  

  7.    {  

  8.      for(i=0;i<10000;i++){}  

  9.    }  

  10.   

  11. }  

  12. void BeeperInit(void)  

  13. {  

  14.     //   

  15.     rGPBCON &= 0xfffffffc; //清除   

  16.     rGPBCON |= 0x00000001; //置低位为0001,使PIN0输出   

  17. }  

  18. void BeeperControl(U8 flag)  

  19. {  

  20.     if(flag)  

  21.         rGPBDAT |=0x00000001;  

  22.     else  

  23.         rGPBDAT &=0xfffffffe;  

  24. }  

  25. void LedInit(void)  

  26. {  

  27.     //设置GPB PIN5678 输出   

  28.     rGPBCON &= 0xfffc03ff;  

  29.     rGPBCON |= (0x00000001<<10) |(0x00000001<<12)|(0x00000001<<14)|(0x00000001<<16);  

  30.     //rGPBCON |= 0x155555;   

  31. }  

  32. void LedControl(U8 led,U8 flag )  

  33. {  

  34.     if(flag==0)  

  35.         rGPBDAT &= ~(0x00000001<<(led+4));  

  36.     else  

  37.         rGPBDAT |= (0x00000001<<(led+4));       

  38. }  


关键字:S3C2440  GPIO  miniARM 引用地址:S3C2440 GPIO (使用miniARM 2440)

上一篇:S3C2440硬件编程实例
下一篇:S3C2440时钟详解

推荐阅读最新更新时间:2024-11-02 13:45

TQ2440 学习笔记—— 14、GPIO 接口【实验:用C语言实现】
1、使用C语言代码点亮一个LED C 语言程序执行的第一条指令,并不在main函数中。生成一个C程序的可执行文件时,编译器通常会在我们的代码中加上几个被称为启动文件的代码——crtl.o、crti.o、crtend.o、crtn.o等,它们都是标准库文件。这些代码设置C程序的堆栈等,然后调用main函数。它们依赖于操作系统,在裸板上这些代码无法执行,所以需要自己写一个。 a、crt0.s 它在第 13行设置好栈指针后,就可以通过第15行调用C函数main 了。C 函数在执行前必须设置栈。 【注意】韦东山老师那本教材上面是有点错误的,比如WATCHDOG寄存器的地址就写成了0x56000010。 b、代码:
[单片机]
TQ<font color='red'>2440</font> 学习笔记—— 14、<font color='red'>GPIO</font> 接口【实验:用C语言实现】
MINI2440 MPLL
1. S3C2440时钟系统 s3c2410/s3c2440的时钟控制逻辑既可以外接晶振,然后通过内部电路产生时钟源;也可以直接使用外部提供的时钟源,他们通过引脚的设置来选择。时钟控制逻辑给整个芯片提供3种时钟:FCLK用于CPU核;HCLK用于AHB总线上设备,比如CPU和、存储器控制器、中断控制器、LCD控制器、DMA和USB主机模块等;PCLK用于APB总线上的设备,比如WATCHDOG、IIS、I2S、PWM定时器、MMC接口、ADC、UART、GPIO、RTC和SPI。 AHB(Anvanced High performance Bus)总线主要用于高性能模块之间的连接;APB(Advanced Peripheral B
[单片机]
MINI<font color='red'>2440</font> MPLL
STM32学习笔记——控制GPIO输出点亮LED灯
一.预备知识 使用51单片机控制IO口相对来说要简单得多,最小系统搭建完毕后直接通过软件往各IO口写 1 或者写 0 即可。但使用STM32控制IO口输入输出却远没有这么容易,经过一个下午的查阅文献及探索后,略微有了头绪。 个人所使用的STM32F103VBT6有100个引脚,其中有五组GPIO(GPIOA GPIOE),每组有16个GPIO端口(GPIOx_Pin0 GPIOx_Pin15)共80个,每个GPIO端口都有: 两个32位配置寄存器(GPIOx_CRL,GPIOx_CRH); 两个32位数据寄存器(GPIOx_IDR,GPIOx_ODR); 一个32位置位/复位寄存器(GPIOx_BSRR); 一个16位复
[单片机]
ADI 推出可编程低功耗 GPIO/ 键盘控制器
北京2011年9月14日电 /美通社亚洲/ -- Analog Devices, Inc.( http://www.analog.com/zh/pr0909 ) (ADI),全球领先的高性能信号处理解决方案供应商,最近推出 GPIO(通用输入/输出)端口扩展器和键盘矩阵控制器 ADP5585 ( http://www.analog.com/zh/pr0909/adp5585 )和 ADP5589 ( http://www.analog.com/zh/pr0909/adp5589 ),适用于需要扩展 I/O 线路或最大为 QWERTY 尺寸的机械键盘的设备。在业界同类器件中,新型 GPIO/ 键盘控制器的工作功耗最低,封装最小,并且
[嵌入式]
S3C2440之MMU驱动代码模板(RealView MDK)
好记心不如烂笔头,为方便以后查看代码及代码重复利用,这里贴出自己写的S3C2440 MMU代码库。使用友善MINI2440开发板,开发环境为RealView MDK 4.22。 该源码结构简单明了,原始工程下载地址: 点击打开链接 Register 0, ID code register: unsigned int MMU_ReadID(void) { unsigned int id; __asm( mrc p15, 0, id, c0, c0, 0 ); return id; } Register 0, cache type register: unsigned int
[单片机]
用AT91 RM9200构建高可靠嵌入式系统
   摘要 提出一种基于AT91RM9200处理器的高可靠双机温备解决方案。利用EPlC6、MAX6374设计两个冗余的外部Watchdog监控处理器系统的工作状态,利用AT91RM9200自带的Watchdog作为内部监测机制监控处理器本身的故障;设计并给出了以AT91RM9200为核心的监控机制的具体实现,包括心跳信号的发送和中断服务程序的设计。   本文设计了一种以AT91RM9200处理器为核心的高可靠嵌入式系统。系统具有两台机组,当一台机组发生故障后,另一台机组接管工作并继续运行。系统提供外部和内部Watchdog(看门狗)监控机制构成一级冗余、两级监控的可靠性设计方案。其中外部Watchdog分别采用MAX6374和
[嵌入式]
STM32 的GPIO使用
正式开始学STM32,就同C51一样流水灯开始了.......... 启用一个GPIO 口 的流程:(片子已近跑起来了) 设时钟---写配置文件---调用初始化函数 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);// 3.1.1 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | B |C,ENABLE):使能APB2总线外设时钟 3.1.2 RCC_ APB2PeriphResetCmd (RCC_APB2Periph_GPIOA | B | C, DISABLE):释放GPIO复位 GPIO_In
[单片机]
STM32 的<font color='red'>GPIO</font>使用
mini2440 Norflash驱动移植过程
我不知道友善linux2.6.32的内核是否支持了mini2440的norflash,我在这里还是亲自的把mini2440的norflash支持上。移植过程分享如下: 一.添加配置项 1、修改 drivers/mtd/maps/Kconfig文件,在config_EDB7312配置项下添加如下内容: config MTD_MINI2440 tristate CFI Flash device mapped onMINI2440 depends on ARM && MTD_CFI help This enables access to the CFI Flash on the CogentMINI2440 board. I
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved