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]
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |