LPC1114 JTAG接口不能做GPIO 用

[复制链接]
4379|11
 楼主| f_haizao 发表于 2010-10-11 12:00 | 显示全部楼层 |阅读模式
void GPIOInit( void )
{         
  /* Enable AHB clock to the GPIO domain. */
  LPC_SYSCON->SYSAHBCLKCTRL |= (1<<6);      //使能GPIO时钟
               
  LPC_IOCON->PIO1_2         |= 0X11;     
  LPC_IOCON->PIO1_0         |= 0X11;   
  LPC_IOCON->PIO1_1         |= 0X11;  

  

  

LPC_GPIO1->DIR            |= 0x007;

  

  

  

LPC_GPIO1->DATA = 0X000;

}

最后还是不能把P1.0,P1.1,P1.2拉低,

有哪位大侠曾遇到过这种问题,请给小弟指点迷津
hotpower 发表于 2010-10-11 12:34 | 显示全部楼层
应该配置为gpio才可
 楼主| f_haizao 发表于 2010-10-11 14:00 | 显示全部楼层
LPC_IOCON->PIO1_2         |= 0X11;     
  LPC_IOCON->PIO1_0         |= 0X11;   
  LPC_IOCON->PIO1_1         |= 0X11
已经配置为GPIO了还是不行
jtdy 发表于 2010-10-11 14:25 | 显示全部楼层
本帖最后由 jtdy 于 2010-10-11 14:29 编辑

初始化时,楼主试试这个,然设置DIR,再输出。LPC_GPIO1->DATA &= 0X000;

LPC_IOCON->JTAG_TMS_PIO1_0  &= ~0x07
  LPC_IOCON->JTAG_TMS_PIO1_0  |= 0x01;        /*Selects function PIO1_0 */
   LPC_IOCON->JTAG_TDO_PIO1_1  &= ~0x07;        
   LPC_IOCON->JTAG_TDO_PIO1_1  |= 0x01;        /* Selects function PIO1_1 */
    LPC_IOCON->JTAG_nTRST_PIO1_2 &= ~0x07;
    LPC_IOCON->JTAG_nTRST_PIO1_2 |= 0x01;        /* Selects function PIO1_2  */
 楼主| f_haizao 发表于 2010-10-11 14:49 | 显示全部楼层
4楼按着你的做法也不行还是不行
ou123 发表于 2010-10-11 15:23 | 显示全部楼层
路过,
hotpower 发表于 2010-10-13 11:12 | 显示全部楼层
我软件仿真了,默认配置可以
zajiju 发表于 2013-5-6 12:05 | 显示全部楼层
  LPC_IOCON->JTAG_TDO_PIO1_1  &= ~0x07;        
   LPC_IOCON->JTAG_TDO_PIO1_1  |= 0x01;        /* Selects function PIO1_1 */
   GPIOSetDir( PORT1, 1, 1 ); //SEL         输出
这样是可以输出低的,4楼是对的!
fengshao1370 发表于 2013-11-21 10:46 | 显示全部楼层
zajiju 发表于 2013-5-6 12:05
LPC_IOCON->JTAG_TDO_PIO1_1  &= ~0x07;        
   LPC_IOCON->JTAG_TDO_PIO1_1  |= 0x01;        /* Se ...

这些寄存器都没有定义啊?直接编译错误啊,LPC11xx.h里面没有这些寄存器
fengshao1370 发表于 2013-11-21 10:46 | 显示全部楼层
f_haizao 发表于 2010-10-11 14:49
4楼按着你的做法也不行还是不行

请问问题解决了吗?求教啊
firstshinec 发表于 2014-6-12 00:00 | 显示全部楼层
求解啊。。。。我也遇到这个问题,这个片子怎么这么弱智= =
firstshinec 发表于 2014-6-12 00:25 | 显示全部楼层
好吧,从***论坛看到解决方法了
//禁止JTAG功能
    LPC_IOCON->R_PIO1_0  &= ~0x07;                       //先清掉为初始复位状态
    LPC_IOCON->R_PIO1_0  |=  0x01;                           //禁止TMS
    LPC_IOCON->R_PIO1_1  &= ~0x07;                      //先清掉为初始复位状态
    LPC_IOCON->R_PIO1_1  |=  0x01;                          //禁止TDO 再设置所需要的模式
    LPC_IOCON->R_PIO1_2  &= ~0x07;                      //先清掉为初始复位状态
    LPC_IOCON->R_PIO1_2 |=  0x01;                           //禁止TRST 再设置所需要的模式
    LPC_IOCON->R_PIO0_11 &= ~0x07;           
    LPC_IOCON->R_PIO0_11 |=  0x01;                          //禁止TDI 设置为普通GPIO(LED5)
  LPC_SYSCON->SYSAHBCLKCTRL|=(1<<6); //打开GPIO时钟关闭
  LPC_SYSCON->SYSAHBCLKCTRL|=(1<<16);//打开IOCON时钟关闭
然后再设置IO口方向,和电平就可以了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

10

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部