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]
打赏帖 | |
---|---|
【Zephyr】MCXN947 Zephyr 开发入门适配shell被打赏20分 | |
【我要开发板】6.联合MATLAB记录数据被打赏50分 | |
【瑞萨RA2E1开发板】:使用ADC功能实现位移传感器采集方案被打赏20分 | |
【nRF7002DK】基于sht30的温湿度计被打赏20分 | |
【nRF7002DK】日志打印被打赏20分 | |
rtthread硬件加密-5hash加密分析被打赏10分 | |
【STM32F769】SD卡驱动及其调试经验分享被打赏32分 | |
【分享开发笔记,赚取电动螺丝刀】使用看门狗降低系统隐藏bug触发概率被打赏18分 | |
【STM32F769】调试SD驱动,由于其时钟配置不对引起的错误以及排查记录被打赏35分 | |
【分享开发笔记,赚取电动螺丝刀】MCUXpressoConfigTools配置外设时的异常解决被打赏24分 |