
吃过晚饭 忽然想测试一下GPIO口的速度 - E7 [9 N7 k* Y3 I6 ^8 ^/ C1 c+ e; o 使用的库函数 不是裸奔 晶振8M 9倍频 1 i* ^# d: f) h( s RCC_HCLKConfig(RCC_SYSCLK_Div1); % F* l; w6 [ x% D& t, |3 ~. L //设置高速 AHB 时钟(PCLK2) RCC_PCLK2Config(RCC_HCLK_Div1); o o; `$ J% ]% x) G //设置低速 AHB 时钟(PCLK1)9 o# J, N& W! I( ? RCC_PCLK1Config(RCC_HCLK_Div1); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10 ; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_Init(GPIOC, &GPIO_InitStructure);" H- l m2 y# B; ]; [ while (1) {. a; w, M/ J) Y1 [* k GPIO_SetBits(GPIOC, GPIO_Pin_10); GPIO_ResetBits(GPIOC, GPIO_Pin_10);- I" q! l6 k. U }8 p n2 `. `' q; m ) N8 v( d. C6 ]) A0 m 示波器 : 安捷伦 54621D 用示波器看的速度是2.0MHz 呵呵 不知道有没有哥们用裸奔的方法测试了的 呵呵 - w* }; P% M9 G! [; d + H. X i7 E6 ] & }, z) u) K( G; z /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 然后力哥裸奔的测试结果是:$ H9 [; P- \ Z; X0 G: b' R' W 裸奔测了一下2 @4 @' R' C& h9 C' b 示波器显示是 2.768M Hz. ]0 r# V5 q0 W7 u" ?) L * _/ {1 ^4 \; O- `. x' A! } 固纬 GDS-806S 示波器 while(1)4 L) \1 l' @7 a3 i. F( m {4 {, `) V3 n4 z1 F# Y- D* K3 l, o5 H LED1_OFF;% B( w' F; h# Y: T LED1_ON; } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 力哥继续测试 考虑上流水线 继续裸奔 示波器显示达到 4M Hz" Y# K* F' z% `- j6 ~7 h( R 固纬 GDS-806S 示波器 % K( M0 r- P o0 q4 ?( f5 x while(1) {4 b# A* s8 a; `, Z; w8 Y5 G LED1_OFF;' T+ S0 E- u3 x LED1_ON; LED1_OFF;# d, \& Z6 T7 d( v3 X LED1_ON;8 C! M5 T: J8 z& H .................................................(200行重复)4 A7 j1 a6 B% T0 J4 _ LED1_OFF; LED1_ON;& F0 T# t9 r( e+ g* Y( z( [- b* h4 W LED1_OFF;" |& k, z0 Q! l: X, B1 y4 i e+ x LED1_ON;# |' D3 y: e3 {+ v# ^2 F }8 V ^8 i) b2 h. m( } q ' O: L2 r: F& C4 P) { //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// X* t( n! A, m* U / t2 a: p1 |$ c 然后我也把流水线考虑进去 继续使用固件库的方式# U& u: m5 G Q1 V' A 呵呵 我也在循环体内部加了N句 也考虑了流水线 . G! H+ u- t5 X: s/ Q while (1) {, e/ s- i# x$ V- p1 d) z$ V$ n GPIO_SetBits(GPIOC, GPIO_Pin_10); GPIO_ResetBits(GPIOC, GPIO_Pin_10);- p P5 `8 ]1 l- K9 N GPIO_SetBits(GPIOC, GPIO_Pin_10);9 \1 o7 S6 S+ w$ r0 G- H& E GPIO_ResetBits(GPIOC, GPIO_Pin_10); ................ 中间200句$ U, y) W3 q9 X) }/ ] GPIO_SetBits(GPIOC, GPIO_Pin_10); GPIO_ResetBits(GPIOC, GPIO_Pin_10);2 p( z0 n! v5 E GPIO_SetBits(GPIOC, GPIO_Pin_10); GPIO_ResetBits(GPIOC, GPIO_Pin_10); } 示波器 : 安捷伦 54621D 然后速度是2.725MHz 呵呵 看来流水线还是起了作用了的 嘿嘿 ( v t2 n$ |' G3 }$ p 6 e$ O) D# f5 t7 H5 X% u |
RE:STM32 GPIO口的速度是多少?含全部代码和显示图
GPIOC->BSRR = GPIO_Pin_10;* l3 s3 G1 d8 S' t2 O1 q. ^* Y" ]
GPIOC->BRR = GPIO_Pin_10;
RE:STM32 GPIO口的速度是多少?含全部代码和显示图
RE:STM32 GPIO口的速度是多少?含全部代码和显示图
RE:STM32 GPIO口的速度是多少?含全部代码和显示图
原贴地址:http://www.stmfans.com/bbs/viewthread.php?tid=1051&highlight=GPIO
我贴在博客的地址:http://hi.baidu.com/smallwormsea/blog/item/6c00832bca02c7fce6cd4040.html
RE:STM32 GPIO口的速度是多少?含全部代码和显示图
回复:STM32 GPIO口的速度是多少?含全部代码和显示图
RE:STM32 GPIO口的速度是多少?含全部代码和显示图
RE:STM32 GPIO口的速度是多少?含全部代码和显示图
回复:STM32 GPIO口的速度是多少?含全部代码和显示图
RE:STM32 GPIO口的速度是多少?含全部代码和显示图
RE:STM32 GPIO口的速度是多少?含全部代码和显示图
RE:STM32 GPIO口的速度是多少?含全部代码和显示图
RE:STM32 GPIO口的速度是多少?含全部代码和显示图
RE:STM32 GPIO口的速度是多少?含全部代码和显示图