登录 免费注册 首页 | 行业黑名单 | 帮助
维库电子市场网
技术交流 | 电路欣赏 | 工控天地 | 数字广电 | 通信技术 | 电源技术 | 测控之家 | EMC技术 | ARM技术 | EDA技术 | PCB技术 | 嵌入式系统
驱动编程 | 集成电路 | 器件替换 | 模拟技术 | 新手园地 | 单 片 机 | DSP技术 | MCU技术 | IC 设计 | IC 产业 | CAN-bus/DeviceNe

请大家帮我看看2138的程序,帮我找出问题来,谢谢!

作者:老北 栏目:ARM技术
请大家帮我看看2138的程序,帮我找出问题来,谢谢!
我用lpc2138通过I2C访问AT24C512,写入十个数据之后,再读出十个数据,进行校验,看写入和读出的数是否一致,如校验正确,则蜂鸣器响以下,同时在程序中加上了串口输出程序,但是蜂鸣器不鸣,而且串口输不出数据,程序代码如下:

/****************************************COPYRIGHT (c)**************************************************
**                               Guangzou ZLG-MCU Development Co.,LTD.
**                                      graduate school
**                                 http://www.zlgmcu.com
**
**--------------File Info-------------------------------------------------------------------------------
** File NAME:            main.c
** Last MODIFIED Date:  2004-09-16
** Last Version:        1.0
** Descriptions:        The main() function example template
**
**------------------------------------------------------------------------------------------------------
** Created by:            Chenmingji
** Created date:        2004-09-16
** Version:                1.0
** Descriptions:        The original version
**
**------------------------------------------------------------------------------------------------------
** MODIFIED by:
** MODIFIED date:
** Version:
** Descriptions:
**
********************************************************************************************************/
#include "config.h"
#include "I2CINT.h"




#define    AT24C512    0xA0        /* AT24C512器件从地址                */
#define    BEEP        1 << 7        /* 蜂鸣器BEEP控制口,P0.7,低电平蜂鸣    */



#define UART_BPS   115200

extern uint8 data_buf[];
/*
*********************************************************************************************************
** 函数名称 :DelayNS()
** 函数功能 :长软件延时
** 入口参数 :dly    延时参数,值越大,延时越久
** 出口参数 :无
*********************************************************************************************************
*/
void DelayNS (uint32 dly)
{
    uint32 i;
    
    for ( ; dly>0; dly--)
        for (i=0; i<50000; i++);
}




/*
*********************************************************************************************************
** 函数名称 :GPIO_Init()
** 函数功能 :GPIO初始化   通用I/O口的初始化
** 入口参数 :
** 出口参数 :无
*********************************************************************************************************
*/



void GPIO_Init()
{
     PINSEL0 = (PINSEL0 & (~0xF0)) | 0x50;                 // 不影响其它管脚连接,设置P0.2-SCL0,P0.3-SDA0
     PINSEL0 = 0x00000005;                                 // 设置I/O连接到UART0,P0.0-TXD0,P0.1-RXD0

}

/*
*********************************************************************************************************
** 函数名称 :IRQ_Init()
** 函数功能 :IRQ中断初始化
** 入口参数 :
** 出口参数 :无
*********************************************************************************************************
*/

void IRQ_Init()
{
        /* 设置I2C中断允许 */
    VICIntSelect = 0x00000000;                            /* 设置所有通道为IRQ中断             */
    
    VICVectCntl0 = (0x20 | 0x09);                        /* I2C通道分配到IRQ slot0,最高优先级 */
    
    
    
    VICVectAddr0 = (int32)IRQ_I2C;                        /* 设置I2C中断向量                     */
    
    
    VICIntEnable = (1 << 9);                            /* 使能I2C中断                         */


}


/*
*********************************************************************************************************
** 函数名称 :I2cInit()
** 函数功能 :I2C初始化
** 入口参数 :Fi2c    I2C总线频率(最大400K),LPC2138有两个I2C接口,但是没有在SDA SCL上加上拉电阻
              因此在外扩I2C总线时,需要在SDA SCL线上各加一个阻值为10K的上拉电阻
              
              
              
              使用P0.2-SCL0,P0.3-SDA0
              
              JP1-VCC,JP2-GND,JP3-SCL,JP4-SDA
              
              I2C从设备使用AT24C512,  A1,A0未接,默认为0,因此AT24C512的地址为1010,0 A1 A0 R/W
                                                   
2楼: >>参与讨论
HQGBOY
读不出来吗?读写IIC延时长点...
 
3楼: >>参与讨论
老北
先写后读,和单一的读写都不行
先写后读,和单一的读写都不行,
程序总是跑飞,一直停在写/读函数中的while(ICend==0){};处

4楼: >>参与讨论
tallergao
你用的什么芯片阿?
 
参与讨论
昵称:
讨论内容:
 
 
相关帖子
关于arm(LPC2106)的几点疑惑
提示_use_no_semihosting_swit 重复定义怎么解决
请问HJtag能调试多少K的程序代码?
周功,请教一下:
请教哪有USB51S的库函数?
免费注册为维库电子开发网会员,参与电子工程师社区讨论,点此进入


Copyright © 1998-2006 www.dzsc.com 浙ICP证030469号