Hallo zusammen
Ich habe ein Board mit einem STM32F072CBT6 entickelt.
Um dieses zu programmieren verwende ich das Discovery Board von ST (SWD
Schnittstelle) mit der Free Version von Keil.
Um die Funktionsweise zu testen, habe ich eine einfache LED an und UART
sende Instruktion geschrieben. Beim ersten mal laden und debuggen
funktioniert das auch gut. Sobald ich aber den Prozess beenden will,
bekomme ich kein Zugriff mehr mit dem Keil und auf der konsole (UART
lesen) sehe ich, das sich der Kontroller immer wieder resetted. Kann ich
das unterbinden oder den kontroller dazu zwingen seine Programmierung zu
löschen?
Der Code wurde durch den STCube erstellt und ich ändere nur im Main
Code:
1 | int main(void)
|
2 | {
|
3 |
|
4 | /* USER CODE BEGIN 1 */
|
5 | uint8_t aTransmitBuffer[3];
|
6 | aTransmitBuffer[0]=0x55;
|
7 | aTransmitBuffer[1]=0xFF;
|
8 | aTransmitBuffer[2]=0x32;
|
9 | /* USER CODE END 1 */
|
10 | /* MCU Configuration----------------------------------------------------------*/
|
11 | /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
|
12 | HAL_Init();
|
13 | /* Configure the system clock */
|
14 | SystemClock_Config();
|
15 | /* Initialize all configured peripherals */
|
16 | MX_GPIO_Init();
|
17 | MX_DMA_Init();
|
18 | MX_USART1_UART_Init();
|
19 | /* USER CODE BEGIN 2 */
|
20 | HAL_GPIO_WritePin(GPIOB, GPIO_PIN_6, GPIO_PIN_SET);
|
21 | HAL_UART_Transmit_DMA(&huart1, &aTransmitBuffer[0], 3);
|
22 | /* USER CODE END 2 */
|
23 |
|
24 | /* USER CODE BEGIN 3 */
|
25 | /* Infinite loop */
|
26 | while (1)
|
27 | {
|
28 |
|
29 | }
|
30 | /* USER CODE END 3 */
|
31 |
|
32 | }
|