# include "stm32f4xx_usart.h"\r
#elif defined(ARM_STM32F10X)\r
# define STM32_UART_COM USART3 // UART3 on PB10\r
+#elif defined(LIBOPENCM3) //\r
+# include <libopencm3/stm32/usart.h>\r
+# define STM32_UART_COM USART2 // UART2 on PA2\r
+# define STM32_UART_GPIO_PORT GPIOA\r
+# define STM32_UART_GPIO_PIN GPIO2\r
+# define STM32_UART_COM_RCC RCC_USART2\r
+# define STM32_UART_GPIO_RCC RCC_GPIOA\r
+# define STM32_UART_BAUD 115200 // 115200 Baud\r
#elif defined(ARDUINO) // Arduino Serial implementation\r
# if defined(USB_SERIAL)\r
# include "usb_serial.h"\r
// UART enable\r
USART_Cmd(STM32_UART_COM, ENABLE);\r
\r
+#elif defined(LIBOPENCM3)\r
+ rcc_periph_clock_enable(STM32_UART_COM_RCC);\r
+ /* Setup GPIO pin for USART TX */\r
+ rcc_periph_clock_enable(STM32_UART_GPIO_RCC);\r
+ gpio_set_mode(STM32_UART_GPIO_PORT, GPIO_MODE_OUTPUT_2_MHZ,\r
+ GPIO_CNF_OUTPUT_ALTFN_PUSHPULL, STM32_UART_GPIO_PIN);\r
+\r
+ /* Setup UART parameters. */\r
+ usart_set_baudrate(STM32_UART_COM, STM32_UART_BAUD);\r
+ usart_set_databits(STM32_UART_COM, 8);\r
+ usart_set_stopbits(STM32_UART_COM, USART_STOPBITS_1);\r
+ usart_set_parity(STM32_UART_COM, USART_PARITY_NONE);\r
+ usart_set_flow_control(STM32_UART_COM, USART_FLOWCONTROL_NONE);\r
+ usart_set_mode(STM32_UART_COM, USART_MODE_TX_RX);\r
+ /* Finally enable the USART. */\r
+ usart_enable(STM32_UART_COM);\r
+\r
#elif defined(ARDUINO)\r
// we use the Arduino Serial Imlementation\r
// you have to call Serial.begin(SER_BAUD); in Arduino setup() function\r
USART_SendData(STM32_UART_COM, '\r');\r
}\r
\r
+#elif defined(LIBOPENCM3)\r
+ if (ch == '\n') {\r
+ usart_send_blocking(STM32_UART_COM, '\r');\r
+ }\r
+ usart_send_blocking(STM32_UART_COM, ch);\r
+\r
#elif defined(ARDUINO)\r
// we use the Arduino Serial Imlementation\r
usb_serial_putchar(ch);\r
# endif\r
GPIO_Init(IRMP_PORT, &GPIO_InitStructure);\r
\r
+#elif defined (LIBOPENCM3) // STM32 with libopencm3\r
+\r
+ /* GPIOx clock enable */\r
+ rcc_periph_clock_enable(IRMP_PORT_RCC);\r
+ /* GPIO Configuration */\r
+ gpio_set_mode(IRMP_PORT, GPIO_MODE_INPUT, GPIO_CNF_INPUT_FLOAT, IRMP_BIT);\r
+\r
#elif defined(STELLARIS_ARM_CORTEX_M4)\r
// Enable the GPIO port\r
ROM_SysCtlPeripheralEnable(IRMP_PORT_PERIPH);\r