本帖最后由 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
复制代码
转载
|