본문 바로가기

[ST_MICRO]/STM32F7

[STM32-64 Ardu] STM32F732 Arduino Serial 추가 하기 - Bluetooth 모듈 테스트

 

STM32-64 Ardu Board의 UART는 PA2(TXD), PA3(RXD)에 할당되어 있다.

 

 

STM32-64 Ardu Board에는 [xBee EVM] 모듈을 연결 할 수 있는 커넥터가 있어 Bluetooth 모듈이나 WiFi 모듈을 테스트 할 수 있다.

 

SM-Type EVM 모듈 커넥터에도 Serial 테스가 가능하다.

 

STM32-64 Ardu Board에서 UART는 USART1, USART2, USART3, UART4, USART6 에 할당 가능하다.

STM32F7 Arduino 설정 파일에서 UART로 사용할 수 있는 핀맵을 확인하고 원하는 시리포트를 사용 할 수 있다.

#ifdef HAL_UART_MODULE_ENABLED
WEAK const PinMap PinMap_UART_TX[] = {
  {PA_0,       UART4,  STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)},
  {PA_2,       USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)},
  {PA_9,       USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)},
  {PB_6,       USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)},
  {PB_10,      USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)},
  {PC_6,       USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)},
  {PC_10,      UART4,  STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)},
  {PC_10_ALT1, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)},
  {PC_12,      UART5,  STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART5)},
  {NC,         NP,     0}
};
#endif

#ifdef HAL_UART_MODULE_ENABLED
WEAK const PinMap PinMap_UART_RX[] = {
  {PA_1,       UART4,  STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)},
  {PA_3,       USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)},
  {PA_10,      USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)},
  {PB_7,       USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)},
  {PB_11,      USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)},
  {PC_7,       USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART6)},
  {PC_11,      UART4,  STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)},
  {PC_11_ALT1, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)},
  {PD_2,       UART5,  STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART5)},
  {NC,         NP,     0}
};
#endif

 

 

시리얼 포트를 하나더 할당하여 테스트 해보자

HardwareSerial Serial1(PA10, PA9);

void setup() {
  Serial.begin(115200);
  Serial.println("Serial Init");

  Serial1.begin(115200);
  Serial1.println("Serial1 Init");
}

[nRF52 xBee EVM] Arduino BLE UART Test 예제를 이용하여  스마트폰에서 STM32F7 보드를 제어 할 수 있다.

void loop()
{
	if(Serial.available() > 0) 
	{
		String getDATA = Serial.readStringUntil('\n');

		if(getDATA.equals("led1on"))
		{
			Led1On();
		}
		else if(getDATA.equals("led1off"))
		{
			Led1Off();
		}
	}
}
반응형