STM32在使用过程中发现对GPIO进行操作时我用GPIOA的低8位模拟一个总线8位,但我使用函数GPIO_Init时发现这个函数运行时间相当长。
GPIO_InitStructure.GPIO_Pin = 0x00ff;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOA, &GPIO_InitStructure);
因为我这个应用中要大量的调用这个函数,它已经成为我提供运行速度最大的瓶颈,我CPU工作频率是72M。但我用下面这个代替却不好用,我不知道是为什么,
GPIOA->CRL=0x33333333;
如果不想用GPIO_Init(GPIOA, &GPIO_InitStructure);这个函数想直接对寄存器操作该如何实现?
望各位大侠给指指出路,谢谢!! |