Benutzer-Werkzeuge

Webseiten-Werkzeuge


friedhof:stm32f303_devboard

STM32F303 Devboard

CAD Dateien

Features

  • STM32F303CC Mikrocontroller
    • 256kb Flash
    • 48kb RAM
      • Davon 8 kb auf dem Instruktionsbus
    • 10 Timer
    • 3 SPI
    • 2 I²C
    • 3 USART
    • 1 CAN
    • 1 USB
    • 37 GPIO
      • Davon 17 5V Tolerant
    • 17 Capsense Kanäle
    • 4 12 Bit ADCs
    • 2 12 Bit DACs
    • 7 Analoge Komparatoren
    • 4 Opamps

BOM

Anzahl Beschreibung Wert DigikeyNr
1STM32F303CCLQFP48497-13318-ND
1NCP1117SOT-223NCP1117LPST33T3GOSCT-ND
1Quarz8 MHz887-1448-1-ND
1USB-Mini B BuchseED2992CT-ND
1Ferritebead0603ACML-0603-2000-TCT-ND
2TasterSMD450-1129-ND
4SMD Kondensator 0603100nF
2SMD Kondensator 080510uF311-1460-1-ND
2SMD Kondensator 060316pF445-5051-1-ND
2SMD Widerstand 060322Ohm311-22.0HRCT-ND
2SMD Widerstand 060310KOhm
1SMD Widerstand 06031.5KOhm311-1.50KHRCT-ND

Code Upload

Bootloader

Der Chip verfügt über einen integrierten Bootloader. Der Code kann wahlweise über UART oder USB hochgeladen werden.

Um den Chip im Bootloadermodus zu starten muss man auf den Resetknopf drücken während man den Bootknopf hält. Danach kann der Bootknopf losgelassen werden.

Windows: DfuSe Demo

STMikro stellt eine GUI basierte Software zur Verfügung mit der man Programmcode in den Mikrocontroller hochladen kann. Diese Software gibt es hier.

Linux/Windows: dfu-util

Dfu-util unterstützt STM32 Mikrocontroller ab Version 0.5. Der folgende Befehl lädt den Inhalt der Datei filename.bin in den Flash des Mikrocontrollers.

dfu-util -s 0x08000000 --alt 0 -D filename.bin

JTAG/SWD

Es ist auch möglich den Code über JTAG oder SWD hochzuladen. Dazu benötigt man jedoch einen JTAG oder SWD Programmieradapter eine kleine Auswahl kompatibler Adapter findet sich hier

Software

Hello World

#include "stm32f30x_conf.h"
#include <stm32f30x.h>

void delay(uint32_t delay)
{
	while (delay-- > 0) {
		asm("nop");
	}
}


int main(void){

	GPIO_InitTypeDef GPIO_InitStructure;

	/* Enable GPIO A Clock */
	RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);

	/* Enable PA3 for output */
	GPIO_InitStructure.GPIO_Pin =  GPIO_Pin_3;  
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_Level_1;
	GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
	GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL ;
	GPIO_Init(GPIOA, &GPIO_InitStructure);

	for (;;){

		/* LED on */
		GPIOA->BSRR = (1<<3);
		delay(10000000);
		/* LED off */
		GPIOA->BRR = (1<<3);
		delay(10000000);
	}
        return 0;
}
friedhof/stm32f303_devboard.txt · Zuletzt geändert: 2020-07-20 12:48 von neos