GPIO 출력용 함수 아래 3개 비교.
- 타겟칩 : STM32L476,
- IDE : SW4STM32 (gcc)
1.
void GEN_GPIO_WritePin(ST_PORTPIN * pst_portpin, GPIO_PinState PinState)
{
HAL_GPIO_WritePin(pst_portpin->pPort, pst_portpin->Pin , PinState);
}
2.
// 고속화 목적, 실 효과는 상기 GEN_GPIO_WritePin 대비 0.5usec 정도 단축됨.
void GEN_GPIO_WritePin_Low(ST_PORTPIN * pst_portpin)
{
pst_portpin->pPort->BRR = (uint32_t)(pst_portpin->Pin);
}
3.
// 고속화 목적, 실 효과는 상기 GEN_GPIO_WritePin 대비 0.5usec 정도 단축됨.
void GEN_GPIO_WritePin_High(ST_PORTPIN * pst_portpin)
{
pst_portpin->pPort->BSRR = (uint32_t)(pst_portpin->Pin);
}
스코프 실측 결과.
상기 함수1 사용한 경우
상기 함수 2,3 상사용한 경우.
-아주 조금 빨라진다.
연관
동일코드를 GCC로 빌드하는것보다 KEIL 에서 빌드하면 제법 속도향상된다. 상세 : https://igotit.tistory.com/2089
첫등록 : 2019년 2월 23일
최종수정 :
본 글 단축주소 : https://igotit.tistory.com/2090
'임베디드.일렉트로닉스 > STM32' 카테고리의 다른 글
NUCLEO-L4R5ZI. 개발보드. STM32L5R5ZI ( LQFP144 ) (0) | 2019.07.24 |
---|---|
STM32L4+ 시리즈. (0) | 2019.07.17 |
STM32L4x6. GPIO (0) | 2019.02.21 |
STM32CubeMX. I2C (0) | 2019.02.17 |
STM32CubeMX. pin interrupt. (0) | 2019.02.17 |
댓글