Alternate function
Alternate Function Input Output (AFIO)
AMBA High-performance Bus (AHB)
APB1 and APB2 peripherals
description
rcc_clock_setup_in_hse_8mhz_out_72mhz()
rcc_set_mco()
STM32F103C8T6 frequencies, 72 MHz SYSCLK
timers
Analog-to-digital converter (ADC)
analog inputs PA0 and PA1
analog voltages
computing temperature
datasheet
degrees_C100() function
STM32F103C8T6 documentation
STM32F103x8 and STM32F103xB devices
demo_task() function
directory
exercises
minicom
modes
peripheral configuration
prescaler
reading
sample time
STM32F103C8T6 resources
voltage reference
Analog voltages
ADC inputs PA0 and PA1, potentiometers
linear 10-kohm potentiometer
ARM cross compiler
gcc
packages
PATH variable
toolchain prefix
ARM devices
BINARY macro
Black Pill PCB
blinky2 program
clobber
execution
FreeRTOSConfig.h
LED blinking
main.c file
vApplicationStackOverflowHook()
Blue Pill PCB
Blue Pill USB
D+ line, 1.5-kohm pullup resistance
D+ line, 10-kohm pullup resistance
1.8-kohm resistor
STM32 to MacBook Pro
Breadboard
Capacitors
Clock tree
AHB
asynchronous logic circuit
crystal oscillators
exercises
HSE demo
HSI demo
oscillator power
PLL ÷ 2 demo
RC oscillators
real-time clock
STM32F103C8T6
STM32 oscillator notation
SYSCLK
watchdog clock
Controller area network (CAN) bus
arbitration
application receiving
data message s_canmsg
message processing
can_init()
car model
demonstration
breadboard setup
engine control unit
hookup
MCU
messages
software directory
synchronicity
UART interface
dominant logic level
driver signal
exercises
filters
high-speed linear
initialization
interrupts
message format
recessive logic level
sending messages
SOF bit
STM32 limitation
Crystal oscillators
Cygwin
Development framework
Direct memory access (DMA) controller
challenges
circuit
demonstration
challenges
ISR routine
launching DMA
main() program changes
menu items
meter.c module
OLED SPI/DMA management task
one-time DMA initialization
pummel test
source code
spi_dma_xmit_pixmap() function
destination
DMA1 channels
exercises
FreeRTOS task mechanism
memory locations
memory-to-memory transfer
phases
SPI1_TX request
STM32F103C8T6 MCU
transfer cycle, events
Dominant logic state
Ducks-in-a-row
digital outputs, push/pull mode
GPIO inputs
open-drain output
DuPont wires
Embedded systems
Engine control units (ECUs)
ENTRY keyword
Event loop model
EXTI controller
configuration
GPIO ports
rtc_alarm_isr() routine
fee() function
fie()function
Flash memory
FreeRTOS
create tasks
event groups
event loop model
exercises
FreeRTOSConfig.h
macro prefixes
message queues
mutexes
naming convention
preemptive multitasking
prefix characters
queues
required modules
rtos/heap_4.c
rtos/opencm3.c
semaphores
source code
subdirectory
task notification
task scheduling
timers
FTDI
General Motors Local Area Network (GMLAN)
Gnu GDB debugger
description
remote
server
text user interface
GPIO
analog input
characteristics
capabilities
input voltage thresholds
output voltage thresholds
clock
configuration
digital input
exercises
general mode
gpio_set_mode()
I/O configuration
libopencm3
output ports
programmed delays
remainder
Ground connection
HP 6284A power supply
I2C software
configuration
read function
restart
start function
testing I2C ready
write function
Independent watchdog (IWDG)
Inter-integrated circuit (I2C)
address
communication lines
data bits
data signal
demo circuit
EXTI interrupt
LEDs and push button
demo program
demo session
exercises
master and slave devices
PCF8574 configuration
driving higher-current loads
GPIO extender
INT line
NXP Semiconductors
quasi-bidirectional design of GPIO
simplified GPIO circuit
wave shaping
Phillips Semiconductor
power supply and ground connections
start and stop
STM32 attached to PCF8574P devices
transactions
voltage level
Interrupt service routines (ISR)
ISR FreeRTOS crash
libopencm3
git clone command
solutions
Linux
Linux USB serial device
Load addresses
Mac Homebrew
MacOS USB serial device
Male-to-male DuPont wires
Microcontroller unit (MCU)
miniblink subdirectory
flash device
make clobber
source program file
Mutual-exclusion devices (mutexes)
NOCROSSREFS keyword
One power source rule
Open-drain mode
Open sourced tools and libraries
Organic light-emitting diode (OLED) display
AFIO
configuration
connections
demo circuit, SPI
demonstration
description
DMA controller
exercises
graphics
configuration
demo project
drawing lines, circles, and rectangles
function pointer
github
meter_init()
meter_redraw()
meter_set_value()
meter_update()
monochrome
oled_command()
oled_data()
oled_init()
oled_reset()
pixmap
pixmap writing
uGUI functions
I2C vs. SPI
pixels, yellow/blue
SSD1306 controller
Oscillator power
Overlays
.elf file
ENTRY keyword
execution
exercises
fee() function
fee() stub function
fie() function
linker symbols
load addresses
manager function
MEMORY section
NOCROSSREFS keyword
PROVIDE keyword
relocation
sections
shell commands
struct s_overlay
stub function
USB terminal I/O
VMAs
Winbond demo project
W25Q32
ascii
dump page
hex file
menu
minicom
option flags
project directory
PCF8574 GPIO extender
Peripheral devices
Power supply
Preemptive multitasking
Project creation
compile options
exercises
flashing 128k
FreeRTOS
header dependencies
Makefile
default project
included
macro BINARY
macro CLOBBER
macro DEPS
macro LDSCRIPT
macro SRCFILES
myproj
rookie mistakes
subdirectory
user libraries
PROVIDE keyword
PWM with Timer2
channels
configuration
demonstration loop
exercises
features
GPIO
30 Hz cycle
interface circuit
operating mode
PB3
prescaler
requirements
signals
timer launch
PWM with Timer 4
configuration
demonstration
exercises
GPIO configuration
inputs
ISR routine
session output
task1 demo loop
voltages
Raspberry Pi
RC oscillators
Real-time clock (RTC)
configuration
clock source
counter value
flags
prescaler
demonstration
alarm-triggering code
console task
projects
rtc_isr() method
running
UART1 connections
UART or USB
exercises
HSE, LSE, and LSI
interrupt and setup
interrupt service routine
mutexes
rtc_alarm_isr()
EXTI controller
RTC global interrupt
servicing interrupts
STM32F1 platform, interrupts
task notification
Real-time operating system (RTOS)
Recessive logic level
Red Pill PCB
Regulator
Reset circuit
Rookie mistakes
Rremote transmission request (RTR) flag
RTC control register (RTC_CRL)
Semaphores
Serial adapter
Serial peripheral interface (SPI)
chip select
definition
demonstration
build program
exit
manufacturer ID
minicom set up
power down
running
Save setup
Serial port setup
STM32 device
exercises
hardware /NSS control
Captain Obvious
digital electronics
DIP package, W25Q32
multi-master mode
ST documentation
STM32 wired up to W25Q32/W25Q64
timespan
SCK
shift registers
single master to single slave
W25QXX chips
Winbond chip
wiring and voltages
SIP-9 resistor
SPI I/O
flash erase
chip-erase code
clusters, data storage
w25_erase_block()
W25QXX chips
reading flash
read manufacturer ID
read SR1
spi_xfer() function
wait ready function
Winbond W25Q32
Write Enable Latch
Stack overflow
st-flash utility
blink image file
erase flash memory
reading
ST-Link V2
programmer hookup diagram
programming unit
st-info command
USB extension cable
STM32F103C8T6
breadboard
CAN communications
factors
part number
PCB
peripherals
STM32F103x8 and STM32F103xB datasheet
STM32F108C8T6, LED blinking
STM32 SPI configuration
clock polarity and phase
clock rate
DSO trace of SCK and /CS
endianess and word length
GPIO pins
main program initialization
spi_setup()
Stub function
Subdirectory
create
FreeRTOS
libopencm3
~/stm32f103c8t6/rtos/Project.mk
System clock signal (SCK)
System clock (SYSCLK)
clock sources
clock tree
HSE and PLL
HSI and PLL
simplified diagram
STM32F103C8T6 AHB frequencies
USB
Systick interrupt
Troubleshooting
alternate function fail
debugger
FreeRTOS
idle task
libopencm3
lower-priority tasks
multi-tasking
Ready or Running state
Gnu GDB
ISR FreeRTOS crash
peripheral defects
peripheral fail
peripheral GPIO trouble
push-pull/open-drain
resources
libopencm3
power consumption
“STM32F103x8 STM32F103xB PDF” document
stack overflow
stack size estimation
0.1 uF bypass capacitors
Universal Serial Bus (USB)
control structures
definition
exercises
GPIO
Linux
MacOS
MCU source code
pipes and endpoints
serial demo
serial device
sound-recording device
source code
cdcacm_data_rx_cb()
cdcacm_set_config()
cdc_control_request()
receiving
sending
usb_getc()
usb_putc()
usb_ start()
usb_task()
Windows
Universal Synchronous/Asynchronous Receiver/Transmitter (USART)
clocks
configuration
data bits
DMA
ducks-in-a-row
exercises
flow control macros
FreeRTOS
GPIO-controlled LED
include files
input/output/status
interrupts
operation mode macros
parity macros
project uart
function task1()
function uart_putc()
main program uart.c
setup code, UART1
project uart2
demo_task()
source module uart.c
uart_puts()
uart_setup()
uart_task()
uart_task() and demo_task()
xTaskCreate()
status flag bit macros
STM32F103C8T6 device
stop bit macros
UART peripherals
asynchronous data
differences
STM32F103
synchronous communication
USB TTL serial adapters
USB power
USB TTL serial adapters
cable
FTDI drivers
guidelines
hookup
microcontrollers
project uart
RS-232
terminal program
5-volt-tolerant inputs
Virtual memory address (VMA)
+3.3V regulator
+5V regulator
W25QXX chips
Watchdog clock
Winbond demo project
Windows USB serial device
XC6204 series regulator
18.118.200.197