小弟使用 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; } |
【MCU实战经验】基于STM32F103C8T6的hart总线调试器设计
求教STM32F103进入STOP模式后用外部中断唤醒的问题
基于STM32F103RCT6的无源蜂鸣器音乐播放(生日快乐歌)
STM32F103c8t6有没有DAC 功能?
STM32F103x中文数据手册
新手求教,为何在我电脑上找不到STM32F1Xx.h文件
金龙107例程汇总(STM32F107)
万利STM32F107VC 原理图
STM32F103 ADC多通道检测必须要DMA吗?
【官方例程】STM32F107以太网官方例程
RE:STM32F103ZCT6 GPIO 做 Hi/Low 測試
用汇编的话,估计比这个还能快点。
一条机器时间大约是:1/(72*10^6)=0.014us
回复:STM32F103ZCT6 GPIO 做 Hi/Low 測試
GPIOB->BSRR = GPIO_Pin_7; 翻成如下
LDR.W R0,??DataTable108 ;; 0x40010c10
MOVS R1,#+128
STR R1,[R0, #+0]
GPIOB->BRR = GPIO_Pin_7; 翻成如下
LDR.W R0,??DataTable28 ;; 0x40010c14
MOVS R1,#+128
STR R1,[R0, #+0]
??DataTable28:
DC32 0x40010c14
??DataTable108:
DC32 0x40010c10
要如何把 asm 加到程序裡?
RE:STM32F103ZCT6 GPIO 做 Hi/Low 測試
你这样写的话应该是最少时间了。毕竟由总线控制的了。要不你试试超频操作。
回复:STM32F103ZCT6 GPIO 做 Hi/Low 測試