音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費注冊 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng)
驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機 | DSP技術(shù) | MCU技術(shù) | IC 設計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

arm菜鳥問題:為什么看不到流水燈???(LPC2132+H-jtag調(diào)試)

作者:wkman 欄目:ARM技術(shù)
arm菜鳥問題:為什么看不到流水燈???(LPC2132+H-jtag調(diào)試)
arm菜鳥問題:為什么看不到流水燈???(LPC2132+H-jtag調(diào)試)
代碼如下:

//****************************************************************
//LPC2132:11.0592MHZ
//最小化系統(tǒng);只在P0.1_RXD0上接了個灌電流的LED燈!
//****************************************************************
#include <stdio.h>                        
#include <LPC213X.H>   
/*
//LPC213X.H define:
#define IOPIN0         (*((volatile unsigned LONG *) 0xE0028000))
#define IOSET0         (*((volatile unsigned LONG *) 0xE0028004))
#define IODIR0         (*((volatile unsigned LONG *) 0xE0028008))
#define IOCLR0         (*((volatile unsigned LONG *) 0xE002800C))  

#define IO0PIN         (*((volatile unsigned LONG *) 0xE0028000))
#define IO0SET         (*((volatile unsigned LONG *) 0xE0028004))
#define IO0DIR         (*((volatile unsigned LONG *) 0xE0028008))
#define IO0CLR         (*((volatile unsigned LONG *) 0xE002800C))
*/
                     //定義P1_0口為LED口
#define led_1  (1<<0)
#define led_1_on()   (IO0CLR|=led_1)
#define led_1_off()  (IO0SET|=led_1)

//****************************************************************
// Delay prg   (i: 7<->43)
//****************************************************************
void delay (unsigned int i)
{                       
    unsigned int n;

    while(i>1)
    {
        for(n=65535;n>1;n--)
            ;
        i--;
    }
}
//****************************************************************
// MAIN :  
//****************************************************************                                   
void main(void)
{
    PINSEL0 = 0x00000000;        // 設置管腳連接GPIO
    PINSEL1 = 0x00000000;        // 設置管腳連接GPIO
    PINSEL2 = 0x00000000;        //P1
    //PINSEL2 = 0x00000004;        //P1->RTCK


    IO0DIR  = 0x00000000;        // 設置P0口為輸入
    IO1DIR  = 0x00000000;        // 設置P1口為輸入
    //****************************************************************

    while(0)                    //111
    {
         delay(20);
        IO0SET = 0x0000001;           //無反應
        delay(20);
        IO0CLR = 0x0000001;
    }
    while(1)                    //222
    {
         delay(10);
        IO0DIR  = 0xffffffff;    //改變端口方向
        delay(20);                //可看到LED閃爍!
        IO0DIR  = 0x00000000;
    }   
    while(0)                    //333
     {
          led_1_on();                  //也無反應
          delay(20);
          led_1_off();
        delay(20);
      }
    //****************************************************************
}

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1

為什么在hjtag調(diào)試仿真的時候:
只有//222的代碼段可以看到,但實際中這樣使用就麻煩大了。
//111和//333看不到,而且這兩種才是DX們使用的端口置位清零方法。。。

2樓: >>參與討論
wkman
禮拜一,這里的牛人是不是都沒起來?^_^!
 
3樓: >>參與討論
zlgarm
請將對應端口設為輸出
 
4樓: >>參與討論
wkman
設置了,還是沒反應:如下

    IO0DIR  = 0x00000001;        // 設置P0.1為輸出

    IO1DIR  = 0x00000000;        // 設置P1口為輸入
//****************************************************************

    while(1)                    //111
    {
         delay(30);
        IO0SET = 0x0000001;      //無反應 ????????
        delay(30);
        IO0CLR = 0x0000001;
    }


設置p01為輸出了,到底是哪里不對頭?
我看2104的配套書也是配置為輸出,就是沒反應。
惟有//222方式可以看到流水燈。。。

5樓: >>參與討論
wkman
而且,一點仿真就進入“run”狀態(tài),不能單步或者:
    47:  
    48:  
0x4000018C  6002      STR       R2,[R0,#0x00]
0x4000018E  6002      STR       R2,[R0,#0x00]          《《《=或者單步到這里就自動進入全速運行,,,,,
    49:     IO0DIR  = 0x00000001;              // 設置P0.1為輸出 

6樓: >>參與討論
coolbo83
PINSEL2 = 0x00000000
將JTAG調(diào)試端口P1.31~P1.26設為GPIO,無法調(diào)試啦!
請注意PINSEL2的設置。

while(0)???是什么意思??

7樓: >>參與討論
wkman
2 :while(0)只是為調(diào)試方便,要使用哪個就把哪個
2: while(0)只是為調(diào)試方便,要使用哪個就把哪個while里面的數(shù)據(jù)置1,其他不用的置0。。。


1:現(xiàn)在應該社PINSEL2=0x00000004;//p1。31~p1。26做為調(diào)試端口

這下對了吧???
可一執(zhí)行就是“全速運行”狀態(tài),燈也不閃爍。


    PINSEL0 = 0x00000000;        // 設置管腳連接GPIO
    PINSEL1 = 0x00000000;        // 設置管腳連接GPIO
    //PINSEL2 = 0x00000000;        //P1
    PINSEL2 = 0x00000004;             //P1->RTCK
                                    //p1.16~p1.25未使用。

    IO0DIR  = 0x00000001;        // 設置P0.1為輸出
    IO1DIR  = 0x00000000;        // 設置P1口為輸入
//****************************************************************
    
    while(1)                    //111
    {
         delay(30);
        IO0SET = 0x0000001;     //無反應 ????????
        delay(30);
        IO0CLR = 0x0000001;
    }

8樓: >>參與討論
wkman
就算是把zlg的2104模板改裝了一下也沒反應。
// zlg 2104 模板
/****************************************************************************
* File:LEDCON.C
* 功能:LED閃爍控制。對發(fā)光二極管LED4進行控制,采用軟件延時方法。
*      使用I/O口直接控制LED,采用灌電流方式。
* 說明:將跳線器JP8_LED4短接。
****************************************************************************/
#include  "config.h"
       
//#define      LEDCON    0x00002000        /* P0.13引腳控制LED4,低電平點亮*/
                                    //////////////////////////////////////////////////////
#define      LEDCON    0x00000001        // P0.1引腳控制LED4,低電平點亮
                                    //改動了這句
/****************************************************************************
* 名稱:DelayNS()
* 功能:長軟件延時
* 入口參數(shù):dly        延時參數(shù),值越大,延時越久
* 出口參數(shù):無
****************************************************************************/
void  DelayNS(uint32  dly)
{  uint32  i;

   for(; dly>0; dly--)
      for(i=0; i<50000; i++);
}    
/****************************************************************************
* 名稱:main()
* 功能:控制LED閃爍
****************************************************************************/
int  main(void)
{  
   PINSEL0 = 0x00000000;        // 設置所有管腳連接GPIO
   PINSEL1 = 0x00000000;
   //////////////////////////////////////////////////////
   PINSEL2 = 0x0000000c;
   //PINSEL2 = 0x00000004;

   IODIR0 = LEDCON;            // 設置LED4控制口為輸出
   while(1)    
   {  
         IOSET0 = LEDCON;
      DelayNS(30);
      IOCLR0 = LEDCON;
      DelayNS(30);
   }        
   return(0);
}

9樓: >>參與討論
wkman
解決了:菜鳥偶數(shù)錯管腳了!^_^!
    PINSEL2 = 0x0000000c;        //P1->RTCK
                                //p1.16~p1.25未使用。

    IO0DIR  = 0x00000002;        // 設置P0.1為輸出
    IO1DIR  = 0x00000000;        // 設置P1口為輸入
    //****************************************************************
    while(1)                    //111
    {
         delay(30);
        IO0SET = 0x0000002; //。!錯在這里
                                      //P0.1_RXD0腳應該是0x02,以前全部寫錯,寫成了0x01!!!!!!!!!!!  
                                      //菜鳥的第一個程序完成^_^!自己賀一下。。。。^_^!謝謝各位捧場。。。
        delay(30);
        IO0CLR = 0x0000002;
    }

參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
program terminated normally?
關(guān)于LPC芯片在pcb上出現(xiàn)的問題求救
感覺周工的書能訓練出個工人還行
在keil環(huán)境下,如何用easyjtag-h來調(diào)試LM3S101芯片,如何寫程序?
Keil開發(fā)2146怎么實現(xiàn)加密
免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號