查看: 900|回复: 0
打印 上一主题 下一主题

IO输出脉冲的频率大小问题。

[复制链接]
跳转到指定楼层
沙发
发表于 2015-6-2 13:58:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

本帖最后由 crazydtone 于 2015-5-25 15:40 编辑


大家好!

        硬件平台:K60 MCU 100MHz

        如题,由于要使用SPI接口去驱动color LCD,但是本身的硬件SPI接口(硬件已经固定)被占用了,因此要使用软件模拟SPI接口去控制 color LCD。

        在while(1)循环中将一个引脚取反以便输出方波,输出方波的频率为 5MHz(使用示波器实测) 左右,但是本身硬件SPI接口的SCLK可以达到25MHz输出,在想100MHz的主频,怎么输出频率只有 5MHz 左右呢?

        不知道中间的延迟出现在哪里?麻烦大家帮分析一下,谢谢...

        以下仿真生成是生成的 disassembly:

while(1)
{
                                                PTA->PCOR|=(1<<28);
                                                PTA->PSOR|=(1<<28);
}

=========================

0x00010A7E E00A      B        0x00010A96
    37:                                                 PTA->PCOR|=(1<<28);
0x00010A80 481B      LDR      r0,[pc,#108]  ; @0x00010AF0
0x00010A82 6880      LDR      r0,[r0,#0x08]
0x00010A84 F0405080  ORR      r0,r0,#0x10000000
0x00010A88 4919      LDR      r1,[pc,#100]  ; @0x00010AF0
0x00010A8A 6088      STR      r0,[r1,#0x08]
    38:                                                 PTA->PSOR|=(1<<28);
0x00010A8C 4608      MOV      r0,r1
0x00010A8E 6840      LDR      r0,[r0,#0x04]
0x00010A90 F0405080  ORR      r0,r0,#0x10000000
0x00010A94 6048      STR      r0,[r1,#0x04]
    24:                         while(1)
0x00010A96 E7F3      B        0x00010A80
0x00010A98 0110      DCW      0x0110
0x00010A9A 1FFF      DCW      0x1FFF
0x00010A9C 006E      DCW      0x006E
0x00010A9E 8000      DCW      0x8000
0x00010AA0 0A0D      DCW      0x0A0D
0x00010AA2 4820      DCW      0x4820
0x00010AA4 6C65      DCW      0x6C65
0x00010AA6 6F6C      DCW      0x6F6C
0x00010AA8 5720      DCW      0x5720
0x00010AAA 726F      DCW      0x726F
0x00010AAC 646C      DCW      0x646C
0x00010AAE 2021      DCW      0x2021
0x00010AB0 0A0D      DCW      0x0A0D
0x00010AB2 0000      DCW      0x0000
0x00010AB4 0A0D      DCW      0x0A0D
0x00010AB6 2020      DCW      0x2020
0x00010AB8 6F43      DCW      0x6F43
0x00010ABA 656D      DCW      0x656D
0x00010ABC 4F20      DCW      0x4F20
0x00010ABE 206E      DCW      0x206E
0x00010AC0 574A      DCW      0x574A
0x00010AC2 2120      DCW      0x2120
0x00010AC4 7420      DCW      0x7420
0x00010AC6 6968      DCW      0x6968
0x00010AC8 2073      DCW      0x2073
0x00010ACA 7369      DCW      0x7369
0x00010ACC 7420      DCW      0x7420
0x00010ACE 6568      DCW      0x6568
0x00010AD0 6E20      DCW      0x6E20
0x00010AD2 6365      DCW      0x6365
0x00010AD4 7365      DCW      0x7365
0x00010AD6 6173      DCW      0x6173
0x00010AD8 7972      DCW      0x7972
0x00010ADA 7220      DCW      0x7220
0x00010ADC 616F      DCW      0x616F
0x00010ADE 2064      DCW      0x2064
0x00010AE0 6F74      DCW      0x6F74
0x00010AE2 7320      DCW      0x7320
0x00010AE4 6375      DCW      0x6375
0x00010AE6 6563      DCW      0x6563
0x00010AE8 7373      DCW      0x7373
0x00010AEA 2120      DCW      0x2120
0x00010AEC 0D20      DCW      0x0D20
0x00010AEE 000A      DCW      0x000A
0x00010AF0 F000      DCW      0xF000
0x00010AF2 400F      DCW      0x400F
复制代码
转载

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入中科因仑

本版积分规则

快速回复 返回顶部 返回列表