a897639853 发表于 2010-11-26 21:49:49

帮忙看看一个简单的arm7程序。

#include "config.h"

const uint32 BEEP = 1 << 17;                /* P0.17控制LED1,低电平点亮        */

/*
*********************************************************************************************************
** 函数名称 :delay()
** 函数功能 :短软件延时
** 入口参数 :dly        延时参数,值越大,延时越久
** 出口参数 :无
*********************************************************************************************************
*/
void delay(uint32 dly)
{
        uint32 i;
        for ( ; dly>0; dly--)
                for (i=0; i<10; i++);
}

/*
*********************************************************************************************************
** 函数名称 :main()
** 函数功能 :使用定时器1捕获按键定时,控制LED1闪烁。
** 调试说明 :需要将跳线JP12连接LED1。
*********************************************************************************************************
*/
int main (void)
{
        volatile uint32 i;
        PINSEL1 = PINSEL1 & (~0x03);
          PINSEL1 = PINSEL1 | 0x03;       /*设置P0.16为CAP1.2下降沿捕获*/

         PINSEL1 = PINSEL1 & (~(0x03 << 2));      //P0.17
       
          
        IO1DIR = BEEP;                                          // 设置LED1控制口为输出

        T0PR= 99;
        T0CCR = 1 << 7;                                        // 设置CAP1.2下降沿捕获
        T0TC= 0;
        T0TCR = 0x01;                                        // 启动定时器
       
        while (1)
        {
                i = T0CR2;                                        // 读取捕获到的T1TC值,用作延时参数
                IO1CLR = BEEP;
                delay(i);
                IO1SET = BEEP;
                delay(i);
        }
    return 0;
}
怎么输出地IO口是P1.17 而不是P0.17

a897639853 发表于 2010-11-26 21:51:27

主要是管脚设置出现问题了吧
页: [1]
查看完整版本: 帮忙看看一个简单的arm7程序。