int main()
{
file://AT91F_DBGU_Printk("\n\rBasicBoot Successfull: Enter main()\n\r");
file://wait_for_time(2);
__asm
{
MOV R0,#0x00020000
MOV R1,#0xfffff400
MOV R2,#0x0
MOV R3,#0xFFFFF434
STR R0,[R1],#0x10
STR R0,[R1],#0x20
loop:
STR R0,[R1]
file://将PIOA17置高电平
MOV R4,#0x1
STR R0,[R3]
file://将PIOA17置低电平
B loop
}
while (1);
}
上面是一段很简单的程序,周期改变PIOA17端口的电平状态,生成一个脉冲信号.采用ATMEL的ARM9芯片,参数设定芯片内部频率为180MHZ.但是实验时我们在PIOA17脚测得的高电平持续时间为240ns,将语句MOV R4,#0X01移去后测得高电平持续时间为120ns.难道180MHZ的速度一条指令要用时120ns? 请大家帮忙出出主意,问题可能出在哪里呢? [em11]
有奖活动 | |
---|---|
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
【有奖活动】震撼来袭!这场直播将直击工程师的心灵! | |
“我想要一部加热台”活动,不花钱赢取开发好工具!活动开始了哦 | |
【有奖活动】伙伴们:您的“需求”解决了吗? | |
抽奖了,抽奖了,金升阳医疗电源 |