示例#1
0
void TUSART<ERegister::rUSART3>::init()
{
	__HAL_RCC_USART3_CLK_ENABLE();
	__HAL_RCC_GPIOC_CLK_ENABLE();

    TPortPin<ERegister::rGPIOC, 10U> txPin(EPinMode::ALTERNATE_FUNCTION,
										   EOutputType::PUSH_PULL,
										   ESpeed::VERY_HIGH,
										   EPullType::PULL_UP,
										   EAlternateFunction::AF7);
    TPortPin<ERegister::rGPIOC, 11U> rxPin {EPinMode::ALTERNATE_FUNCTION,
										   EOutputType::PUSH_PULL,
										   ESpeed::VERY_HIGH,
										   EPullType::PULL_UP,
										   EAlternateFunction::AF7};

	*sUSART_BRR  |= 0x1114U;
	*sUSART_CR1  |= 0b0010000000001100U;
	*sUSART_CR2  |= 0b000000000000000U;
	*sUSART_CR3  |= 0b000000000000U;
}
 static inline int txPin6(void)
 {
     return txPin(6);
 }
 static inline int txPin5(void)
 {
     return txPin(5);
 }
 static inline int txPin4(void)
 {
     return txPin(4);
 }
 static inline int txPin3(void)
 {
     return txPin(3);
 }
 static inline int txPin2(void)
 {
     return txPin(2);
 }
 static inline int txPin1(void)
 {
     return txPin(1);
 }