STM32F103ZCT6 GPIO 做 Hi/Low 測試
小弟使用 STM32F103ZCT6 跑72Mhz , 將 GPIO 做 Hi/Low 測試 , 時間約 142ns , 這是最快的嗎? 還是可以更快呢?while(1)
{
GPIOB->BSRR = GPIO_Pin_7;
GPIOB->BRR = GPIO_Pin_7;
GPIOB->BSRR = GPIO_Pin_7;
GPIOB->BRR = GPIO_Pin_7;
GPIOB->BSRR = GPIO_Pin_7;
GPIOB->BRR = GPIO_Pin_7;
GPIOB->BSRR = GPIO_Pin_7;
GPIOB->BRR = GPIO_Pin_7;
GPIOB->BSRR = GPIO_Pin_7;
GPIOB->BRR = GPIO_Pin_7;
}
RE:STM32F103ZCT6 GPIO 做 Hi/Low 測試
这样操作应该是最快的了。直接写寄存器。用汇编的话,估计比这个还能快点。
一条机器时间大约是:1/(72*10^6)=0.014us
回复:STM32F103ZCT6 GPIO 做 Hi/Low 測試
看asmGPIOB->BSRR = GPIO_Pin_7; 翻成如下
LDR.W R0,??DataTable108 ;; 0x40010c10
MOVS R1,#+128
STR R1,
GPIOB->BRR = GPIO_Pin_7; 翻成如下
LDR.W R0,??DataTable28 ;; 0x40010c14
MOVS R1,#+128
STR R1,
??DataTable28:
DC32 0x40010c14
??DataTable108:
DC32 0x40010c10
要如何把 asm 加到程序裡?
RE:STM32F103ZCT6 GPIO 做 Hi/Low 測試
我的意思是说汇编可能快点。没让你写成汇编,可能是我的表达不太好。你这样写的话应该是最少时间了。毕竟由总线控制的了。要不你试试超频操作。
回复:STM32F103ZCT6 GPIO 做 Hi/Low 測試
可以超頻嗎?
页:
[1]