打印
[ZLG-MCU]

I2C初始化的问题

[复制链接]
1864|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
耄耄耄|  楼主 | 2008-4-16 16:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
I2c, AD, ADC, dc, se
上次想用led指示AD转换是否完成但没能成功,这次我想用LCD来指示,程序如下:
#include "hw_types.h"
#include "hw_memmap.h"
#include "hw_gpio.h"
#include "hw_ints.h"
#include "sysctl.h"
#include "I2CINT.H"
#include "PCF8576.H"
#include "LCD_TH3144.H"
#include "hw_adc.h"
#include "gpio.h"
#include "adc.h"
#include "debug.h"

#define KEY GPIO_PIN_4
void Go2Jtag(void)//防止jtag死锁
{
  SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD);
  GPIODirModeSet(GPIO_PORTD_BASE,KEY,GPIO_DIR_MODE_IN);
  if(GPIOPinRead(GPIO_PORTD_BASE,KEY)==0)
  {
    while(1);
  }
}

void delay(unsigned int n)                        // 软件延迟函数
{
    volatile int i;
    for(;n>0;n--)
    {
      for(i=0;i<1000;i++);
    }
}

unsigned long ulData;


int main(void)
{
  Go2Jtag();
  I2CInit(100000, 1);
  SysCtlClockSet(SYSCTL_SYSDIV_1|SYSCTL_USE_PLL|SYSCTL_OSC_MAIN|SYSCTL_XTAL_6MHZ);
  SysCtlPeripheralEnable(SYSCTL_PERIPH_ADC);     
  SysCtlADCSpeedSet(SYSCTL_ADCSPEED_125KSPS);
  ADCSequenceDisable(ADC_BASE,0);
  ADCSequenceConfigure(ADC_BASE,0,ADC_TRIGGER_PROCESSOR,0);
  ADCSequenceStepConfigure(ADC_BASE,0,0,ADC_CTL_CH0|ADC_CTL_END);
  ADCSequenceEnable(ADC_BASE,0);//使能采样序列0
  while(1)
  {
  ADCProcessorTrigger(ADC_BASE,0);//程序触发采样序列
  while((HWREG(ADC_BASE+ADC_O_X_SSFSTAT)&0x00000100));
  ADCSequenceDataGet(ADC_BASE,0,&ulData);
  ulData=(ulData*1000*3)/1024;    
  if(PCF8576_Ini(MODE_E, NOGLITTER)!=1)        // 初始化PCF8576驱动
    { while(1); }
        Lcd_Seg.D1 = HexToSeg(1);                // 延时一段时间
    Lcd_Update();
    delay(1000);
        Lcd_Clean();                            // 清屏
    delay(1000);        // 延时一段时间
  }
}

但是我在调试程序的时候,程序执行到I2CInit(100000, 1)中的IntEnable(INT_I2C),即使能I2C中断的时候,就会触发一个中断,然后陷入死循环,即程序跳转到IntDefaultHandler(void),这是怎么回事?请高手指教。

相关帖子

沙发
mj2008| | 2008-4-17 10:21 | 只看该作者

iic

iic部件内部状态不受调试器的控制,如果出现类似问题,只要有一次你就得按硬复位键或者断电来清除。否则下次重新进入调试状态还是一样的问题。

使用特权

评论回复
板凳
mj2008| | 2008-4-17 10:22 | 只看该作者

补充一下,lmijtag+iar511下

使用特权

评论回复
地板
耄耄耄|  楼主 | 2008-4-17 13:18 | 只看该作者

版本

这类问题与IAR的版本有关么?我用的是4.42A

使用特权

评论回复
5
mj2008| | 2008-4-18 13:19 | 只看该作者

跟版本没有关系,跟jtag的驱动有关系吧

使用特权

评论回复
6
耄耄耄|  楼主 | 2008-4-18 14:12 | 只看该作者

xiexie

问题已经解决了,呵呵,谢谢您的指点!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

30

帖子

0

粉丝