帮忙看看一个简单的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 主要是管脚设置出现问题了吧
页:
[1]