Basic vanilla C boilerplate for STM32L100xC (Discovery L100C). Uses GCC. This was some class project without much practical use
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

56 lines
839 B

#include <common.h>
#include <stdio.h>
#include "utils/usart.h"
#include "utils/timebase.h"
#include "utils/debounce.h"
#include "utils/str_utils.h"
#include "init.h"
#include "blink.h"
/** IRQ */
void USART2_IRQHandler(void)
{
// RXIE enables also ORE - must handle ORE.
if (USART2_SR & USART_SR_ORE) {
USART2_SR &= ~USART_SR_ORE;
}
if (USART2_SR & USART_SR_RXNE) {
blue_blink();
// handle incoming char.
char c = usart_rx_char(USART2);
// echo
usart_tx_char(USART2, c);
USART2_SR ^= USART_SR_RXNE;
}
}
/** Init peripherals; Called by startup script, before main() */
void SystemInit(void)
{
init_clock();
init_systick();
init_gpios();
init_usart();
init_adc();
init_dac();
init_pwm1();
}
int main(void)
{
usart_tx_string(USART2, "Hello.\n");
while (1) {
delay_ms(500);
green_toggle();
}
}