Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: BSP_DISCO_L476VG LCD_DISCO_L476VG mbed
main.c
00001 /** 00002 ****************************************************************************** 00003 * @file main.c 00004 * @author Ac6 00005 * @version V1.0 00006 * @date 01-December-2013 00007 * @brief Default main function. 00008 ****************************************************************************** 00009 */ 00010 00011 00012 #include "stm32l4xx.h" 00013 #include "stm32l476g_discovery.h" 00014 #include "main.h" 00015 00016 void Error_Handler(void); 00017 void SystemClock_Config(void); 00018 00019 UART_HandleTypeDef UartHandle; 00020 uint8_t buf[2]; 00021 00022 int main(void) 00023 { 00024 uint8_t sbuf[] = "abcd"; 00025 00026 HAL_Init(); 00027 SystemClock_Config(); 00028 //BSP_LED_Init(LED4); 00029 //BSP_LED_Init(LED5); 00030 00031 //UartHandle.Instance = USART1; 00032 UartHandle.Instance = USARTx; 00033 00034 UartHandle.Init.BaudRate = 9600; 00035 UartHandle.Init.WordLength = UART_WORDLENGTH_8B; 00036 UartHandle.Init.StopBits = UART_STOPBITS_1; 00037 UartHandle.Init.Parity = UART_PARITY_NONE; 00038 UartHandle.Init.HwFlowCtl = UART_HWCONTROL_NONE; 00039 UartHandle.Init.Mode = UART_MODE_TX_RX; 00040 00041 if (HAL_UART_Init(&UartHandle) != HAL_OK) 00042 { 00043 /* Initialization Error */ 00044 Error_Handler(); 00045 } 00046 00047 //if (HAL_UART_DeInit(&usart_init) != HAL_OK) { 00048 // Error_Handler(); 00049 //} 00050 //if (HAL_UART_Init(&usart_init) != HAL_OK) { 00051 // Error_Handler(); 00052 //} 00053 00054 //if (HAL_UART_Transmit(&UartHandle, (uint8_t*)sbuf, 4, 5000) != HAL_OK) { 00055 // Error_Handler(); 00056 //}z 00057 //if (HAL_UART_Receive(&UartHandle, (uint8_t*)buf, 1, 0x1fffffff) != HAL_OK) { 00058 // Error_Handler(); 00059 //} 00060 if (HAL_UART_Transmit_DMA(&UartHandle, (uint8_t*)sbuf, 4) != HAL_OK) { 00061 Error_Handler(); 00062 } 00063 if (HAL_UART_Receive_IT(&UartHandle, (uint8_t*)buf, 2) != HAL_OK) { 00064 Error_Handler(); 00065 } 00066 00067 while(1); 00068 } 00069 00070 void SystemClock_Config(void) { 00071 RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; 00072 RCC_OscInitTypeDef RCC_OscInitStruct = {0}; 00073 00074 /* MSI is enabled after System reset, activate PLL with MSI as source */ 00075 RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_MSI; 00076 RCC_OscInitStruct.MSIState = RCC_MSI_ON; 00077 RCC_OscInitStruct.MSIClockRange = RCC_MSIRANGE_6; 00078 RCC_OscInitStruct.MSICalibrationValue = RCC_MSICALIBRATION_DEFAULT; 00079 RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; 00080 RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_MSI; 00081 RCC_OscInitStruct.PLL.PLLM = 1; 00082 RCC_OscInitStruct.PLL.PLLN = 40; 00083 RCC_OscInitStruct.PLL.PLLR = 2; 00084 RCC_OscInitStruct.PLL.PLLP = 7; 00085 RCC_OscInitStruct.PLL.PLLQ = 4; 00086 if(HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) 00087 { 00088 /* Initialization Error */ 00089 while(1); 00090 } 00091 00092 /* Select PLL as system clock source and configure the HCLK, PCLK1 and PCLK2 00093 clocks dividers */ 00094 RCC_ClkInitStruct.ClockType = (RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2); 00095 RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; 00096 RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; 00097 RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1; 00098 RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; 00099 if(HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_4) != HAL_OK) 00100 { 00101 /* Initialization Error */ 00102 while(1); 00103 } 00104 } 00105 00106 void Error_Handler(void) 00107 { 00108 /* Turn LED1 on */ 00109 //BSP_LED_On(LED4); 00110 while(1) 00111 { 00112 /* Error if LED1 is slowly blinking (1 sec. period) */ 00113 //BSP_LED_Toggle(LED4); 00114 HAL_Delay(1000); 00115 } 00116 } 00117 00118 void HAL_UART_RxCpltCallback(UART_HandleTypeDef * huart) { 00119 //BSP_LED_On(LED4); 00120 } 00121 00122 void HAL_UART_TxCpltCallback(UART_HandleTypeDef * huart) { 00123 //BSP_LED_On(LED5); 00124 } 00125 00126 void HAL_UART_ErrorCallback(UART_HandleTypeDef * huart) { 00127 while(1) { 00128 00129 } 00130 } 00131
Generated on Wed Jul 13 2022 17:11:02 by
1.7.2