小弟是ARM初学者,想请教诸位大侠一个简单的程序
时间:10-02
整理:3721RD
点击:
#define MIO_PIN_07 (* (volatile unsigned int *) 0xF800071C)
/*(slcr)MIO_PIN_07寄存器地址*/
#define DIRM_0 (* (volatile unsigned int *) 0xE000A204)
/*DIRM_0寄存器地址*/
#define OEN_0 (* (volatile unsigned int *) 0xE000A208)
/*OEN_0寄存器地址*/
#define DATA_0 (* (volatile unsigned int *) 0xE000A040)
/*DATA_0寄存器地址*/
#define WDT_LOAD (* (volatile unsigned int *) 0xF8F00620)
/*WDT_LOAD寄存器地址*/
#define WDT_COUNTER (* (volatile unsigned int *) 0xF8F00624)
/*WDT_COUNTER寄存器地址*/
#define WDT_CONTROL (* (volatile unsigned int *) 0xF8F00628)
/*WDT_CONTROL寄存器地址*/
#define WDT_RST_STS (* (volatile unsigned int *) 0xF8F00630)
int main(void)
{
MIO_PIN_07=0x0FFFFF600;
/*设置MIO_PIN_07为GPIO*/
DIRM_0=0x00000080;
/*设置MIO_PIN_07为输出引脚*/
OEN_0=0x00000080;
/*设置MIO_PIN_07输出使能*/
DATA_0=0x00000080;//MIO_PIN_13=1,点亮LD9
WDT_LOAD=0x13D92D3F; //设置看门狗定时器载入寄存器
WDT_COUNTER=0x13D92D3F; //设置看门狗定时器计数初值,大约1秒
WDT_CONTROL=0x9; //设置成看门狗模式,启动定时器
while(1)
{
}
return 0;
}
这是用ARM看门狗控制一个LED亮灭的程序,该程序的目的在于使用看们狗使LED循环亮灭,但我把程序烧录到开发板中,LED只亮了一下然后就熄灭了,小弟是初学ARM,自己调试了半天也没能实现LEDD 循环亮灭,不得以来论坛发帖。
请诸位大侠帮小弟看下,这个程序问题出在哪里,应该怎样修改才能实现LED的循环亮灭?
补充内容 (2016-1-23 21:12):
小弟初学,自己纠结了一天了还是没能搞出来,哪位前辈能花点时间帮小弟看一下这个程序,小弟感激不尽!
/*(slcr)MIO_PIN_07寄存器地址*/
#define DIRM_0 (* (volatile unsigned int *) 0xE000A204)
/*DIRM_0寄存器地址*/
#define OEN_0 (* (volatile unsigned int *) 0xE000A208)
/*OEN_0寄存器地址*/
#define DATA_0 (* (volatile unsigned int *) 0xE000A040)
/*DATA_0寄存器地址*/
#define WDT_LOAD (* (volatile unsigned int *) 0xF8F00620)
/*WDT_LOAD寄存器地址*/
#define WDT_COUNTER (* (volatile unsigned int *) 0xF8F00624)
/*WDT_COUNTER寄存器地址*/
#define WDT_CONTROL (* (volatile unsigned int *) 0xF8F00628)
/*WDT_CONTROL寄存器地址*/
#define WDT_RST_STS (* (volatile unsigned int *) 0xF8F00630)
int main(void)
{
MIO_PIN_07=0x0FFFFF600;
/*设置MIO_PIN_07为GPIO*/
DIRM_0=0x00000080;
/*设置MIO_PIN_07为输出引脚*/
OEN_0=0x00000080;
/*设置MIO_PIN_07输出使能*/
DATA_0=0x00000080;//MIO_PIN_13=1,点亮LD9
WDT_LOAD=0x13D92D3F; //设置看门狗定时器载入寄存器
WDT_COUNTER=0x13D92D3F; //设置看门狗定时器计数初值,大约1秒
WDT_CONTROL=0x9; //设置成看门狗模式,启动定时器
while(1)
{
}
return 0;
}
这是用ARM看门狗控制一个LED亮灭的程序,该程序的目的在于使用看们狗使LED循环亮灭,但我把程序烧录到开发板中,LED只亮了一下然后就熄灭了,小弟是初学ARM,自己调试了半天也没能实现LEDD 循环亮灭,不得以来论坛发帖。
请诸位大侠帮小弟看下,这个程序问题出在哪里,应该怎样修改才能实现LED的循环亮灭?
补充内容 (2016-1-23 21:12):
小弟初学,自己纠结了一天了还是没能搞出来,哪位前辈能花点时间帮小弟看一下这个程序,小弟感激不尽!
你只是在程序一开始执行了一次点亮语句,应当在看门狗中断里改变led引脚的输出
你是想让芯片复位,来驱动led吗
