keil uvision5 discovery serial+motor

Dependencies:   BSP_DISCO_F429ZI LCD_DISCO_F429ZI mbed

Committer:
Najib_irvani
Date:
Thu Jun 08 07:12:09 2017 +0000
Revision:
0:2c9955e886b7
keil uvision5 discovery serial+motor

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Najib_irvani 0:2c9955e886b7 1 /**
Najib_irvani 0:2c9955e886b7 2 ******************************************************************************
Najib_irvani 0:2c9955e886b7 3 * File Name : main.c
Najib_irvani 0:2c9955e886b7 4 * Description : Main program body
Najib_irvani 0:2c9955e886b7 5 ******************************************************************************
Najib_irvani 0:2c9955e886b7 6 *
Najib_irvani 0:2c9955e886b7 7 * COPYRIGHT(c) 2017 STMicroelectronics
Najib_irvani 0:2c9955e886b7 8 *
Najib_irvani 0:2c9955e886b7 9 * Redistribution and use in source and binary forms, with or without modification,
Najib_irvani 0:2c9955e886b7 10 * are permitted provided that the following conditions are met:
Najib_irvani 0:2c9955e886b7 11 * 1. Redistributions of source code must retain the above copyright notice,
Najib_irvani 0:2c9955e886b7 12 * this list of conditions and the following disclaimer.
Najib_irvani 0:2c9955e886b7 13 * 2. Redistributions in binary form must reproduce the above copyright notice,
Najib_irvani 0:2c9955e886b7 14 * this list of conditions and the following disclaimer in the documentation
Najib_irvani 0:2c9955e886b7 15 * and/or other materials provided with the distribution.
Najib_irvani 0:2c9955e886b7 16 * 3. Neither the name of STMicroelectronics nor the names of its contributors
Najib_irvani 0:2c9955e886b7 17 * may be used to endorse or promote products derived from this software
Najib_irvani 0:2c9955e886b7 18 * without specific prior written permission.
Najib_irvani 0:2c9955e886b7 19 *
Najib_irvani 0:2c9955e886b7 20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
Najib_irvani 0:2c9955e886b7 21 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
Najib_irvani 0:2c9955e886b7 22 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
Najib_irvani 0:2c9955e886b7 23 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
Najib_irvani 0:2c9955e886b7 24 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
Najib_irvani 0:2c9955e886b7 25 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
Najib_irvani 0:2c9955e886b7 26 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
Najib_irvani 0:2c9955e886b7 27 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
Najib_irvani 0:2c9955e886b7 28 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
Najib_irvani 0:2c9955e886b7 29 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Najib_irvani 0:2c9955e886b7 30 *
Najib_irvani 0:2c9955e886b7 31 ******************************************************************************
Najib_irvani 0:2c9955e886b7 32 */
Najib_irvani 0:2c9955e886b7 33 /* Includes ------------------------------------------------------------------*/
Najib_irvani 0:2c9955e886b7 34 #include "stm32f4xx_hal.h"
Najib_irvani 0:2c9955e886b7 35 #include "joystickps3.h"
Najib_irvani 0:2c9955e886b7 36 #include "stdbool.h"
Najib_irvani 0:2c9955e886b7 37
Najib_irvani 0:2c9955e886b7 38 /* USER CODE BEGIN Includes */
Najib_irvani 0:2c9955e886b7 39
Najib_irvani 0:2c9955e886b7 40 /* USER CODE END Includes */
Najib_irvani 0:2c9955e886b7 41
Najib_irvani 0:2c9955e886b7 42 /* Private variables ---------------------------------------------------------*/
Najib_irvani 0:2c9955e886b7 43 TIM_HandleTypeDef htim3;
Najib_irvani 0:2c9955e886b7 44
Najib_irvani 0:2c9955e886b7 45 UART_HandleTypeDef huart1;
Najib_irvani 0:2c9955e886b7 46
Najib_irvani 0:2c9955e886b7 47 /* USER CODE BEGIN PV */
Najib_irvani 0:2c9955e886b7 48 /* Private variables ---------------------------------------------------------*/
Najib_irvani 0:2c9955e886b7 49
Najib_irvani 0:2c9955e886b7 50 /* USER CODE END PV */
Najib_irvani 0:2c9955e886b7 51
Najib_irvani 0:2c9955e886b7 52 /* Private function prototypes -----------------------------------------------*/
Najib_irvani 0:2c9955e886b7 53 void SystemClock_Config(void);
Najib_irvani 0:2c9955e886b7 54 void Error_Handler(void);
Najib_irvani 0:2c9955e886b7 55 static void MX_GPIO_Init(void);
Najib_irvani 0:2c9955e886b7 56 static void MX_TIM3_Init(void);
Najib_irvani 0:2c9955e886b7 57 static void MX_USART1_UART_Init(void);
Najib_irvani 0:2c9955e886b7 58
Najib_irvani 0:2c9955e886b7 59 void HAL_TIM_MspPostInit(TIM_HandleTypeDef *htim);
Najib_irvani 0:2c9955e886b7 60
Najib_irvani 0:2c9955e886b7 61
Najib_irvani 0:2c9955e886b7 62 /* USER CODE BEGIN PFP */
Najib_irvani 0:2c9955e886b7 63 /* Private function prototypes -----------------------------------------------*/
Najib_irvani 0:2c9955e886b7 64
Najib_irvani 0:2c9955e886b7 65 /* USER CODE END PFP */
Najib_irvani 0:2c9955e886b7 66
Najib_irvani 0:2c9955e886b7 67 /* USER CODE BEGIN 0 */
Najib_irvani 0:2c9955e886b7 68
Najib_irvani 0:2c9955e886b7 69 /* USER CODE END 0 */
Najib_irvani 0:2c9955e886b7 70
Najib_irvani 0:2c9955e886b7 71 int main(void)
Najib_irvani 0:2c9955e886b7 72 {
Najib_irvani 0:2c9955e886b7 73
Najib_irvani 0:2c9955e886b7 74 /* USER CODE BEGIN 1 */
Najib_irvani 0:2c9955e886b7 75
Najib_irvani 0:2c9955e886b7 76 /* USER CODE END 1 */
Najib_irvani 0:2c9955e886b7 77
Najib_irvani 0:2c9955e886b7 78 /* MCU Configuration----------------------------------------------------------*/
Najib_irvani 0:2c9955e886b7 79
Najib_irvani 0:2c9955e886b7 80 /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
Najib_irvani 0:2c9955e886b7 81 HAL_Init();
Najib_irvani 0:2c9955e886b7 82
Najib_irvani 0:2c9955e886b7 83 /* Configure the system clock */
Najib_irvani 0:2c9955e886b7 84 SystemClock_Config();
Najib_irvani 0:2c9955e886b7 85
Najib_irvani 0:2c9955e886b7 86 /* Initialize all configured peripherals */
Najib_irvani 0:2c9955e886b7 87 MX_GPIO_Init();
Najib_irvani 0:2c9955e886b7 88 MX_TIM3_Init();
Najib_irvani 0:2c9955e886b7 89 MX_USART1_UART_Init();
Najib_irvani 0:2c9955e886b7 90
Najib_irvani 0:2c9955e886b7 91 /* USER CODE BEGIN 2 */
Najib_irvani 0:2c9955e886b7 92 HAL_TIM_PWM_Start(&htim3, TIM_CHANNEL_1);
Najib_irvani 0:2c9955e886b7 93 HAL_TIM_PWM_Start(&htim3, TIM_CHANNEL_2);
Najib_irvani 0:2c9955e886b7 94 /* USER CODE END 2 */
Najib_irvani 0:2c9955e886b7 95
Najib_irvani 0:2c9955e886b7 96 /* Infinite loop */
Najib_irvani 0:2c9955e886b7 97 /* USER CODE BEGIN WHILE */
Najib_irvani 0:2c9955e886b7 98 while (1)
Najib_irvani 0:2c9955e886b7 99 {
Najib_irvani 0:2c9955e886b7 100 /* USER CODE END WHILE */
Najib_irvani 0:2c9955e886b7 101 idle();
Najib_irvani 0:2c9955e886b7 102 baca_data();
Najib_irvani 0:2c9955e886b7 103 olah_data();
Najib_irvani 0:2c9955e886b7 104
Najib_irvani 0:2c9955e886b7 105 if (!L1 && R1){
Najib_irvani 0:2c9955e886b7 106 //R1
Najib_irvani 0:2c9955e886b7 107 /*motor depan searah jarum jam*/
Najib_irvani 0:2c9955e886b7 108 HAL_GPIO_WritePin(GPIOC, GPIO_PIN_4,0);
Najib_irvani 0:2c9955e886b7 109 HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4,1);
Najib_irvani 0:2c9955e886b7 110 TIM3->CCR1=999;
Najib_irvani 0:2c9955e886b7 111 /*motor belakang searah jarum jam*/
Najib_irvani 0:2c9955e886b7 112 HAL_GPIO_WritePin(GPIOB, GPIO_PIN_2,0);
Najib_irvani 0:2c9955e886b7 113 HAL_GPIO_WritePin(GPIOC, GPIO_PIN_5,1);
Najib_irvani 0:2c9955e886b7 114 TIM3->CCR2=999;
Najib_irvani 0:2c9955e886b7 115
Najib_irvani 0:2c9955e886b7 116 } else if (L1 && !R1) {
Najib_irvani 0:2c9955e886b7 117 //L1
Najib_irvani 0:2c9955e886b7 118 /*motor depan !arah jarum jam*/
Najib_irvani 0:2c9955e886b7 119 HAL_GPIO_WritePin(GPIOC, GPIO_PIN_4,1);
Najib_irvani 0:2c9955e886b7 120 HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4,0);
Najib_irvani 0:2c9955e886b7 121 TIM3->CCR1=999;
Najib_irvani 0:2c9955e886b7 122 /*motor belakang !arah jarum jam*/
Najib_irvani 0:2c9955e886b7 123 HAL_GPIO_WritePin(GPIOB, GPIO_PIN_2,1);
Najib_irvani 0:2c9955e886b7 124 HAL_GPIO_WritePin(GPIOC, GPIO_PIN_5,0);
Najib_irvani 0:2c9955e886b7 125 TIM3->CCR2=999;
Najib_irvani 0:2c9955e886b7 126
Najib_irvani 0:2c9955e886b7 127 } else if (atas && !kiri && !kanan && !bawah) {
Najib_irvani 0:2c9955e886b7 128 //atas
Najib_irvani 0:2c9955e886b7 129 HAL_GPIO_WritePin(GPIOG, GPIO_PIN_14,1);
Najib_irvani 0:2c9955e886b7 130 } else if (!atas && kiri && !kanan && !bawah) {
Najib_irvani 0:2c9955e886b7 131 //kiri
Najib_irvani 0:2c9955e886b7 132 /*motor depan !arah jarum jam*/
Najib_irvani 0:2c9955e886b7 133 HAL_GPIO_WritePin(GPIOC, GPIO_PIN_4,1);
Najib_irvani 0:2c9955e886b7 134 HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4,0);
Najib_irvani 0:2c9955e886b7 135 TIM3->CCR1=999;
Najib_irvani 0:2c9955e886b7 136 /*motor belakang searah jarum jam*/
Najib_irvani 0:2c9955e886b7 137 HAL_GPIO_WritePin(GPIOB, GPIO_PIN_2,0);
Najib_irvani 0:2c9955e886b7 138 HAL_GPIO_WritePin(GPIOC, GPIO_PIN_5,1);
Najib_irvani 0:2c9955e886b7 139 TIM3->CCR2=999;
Najib_irvani 0:2c9955e886b7 140
Najib_irvani 0:2c9955e886b7 141 } else if (!atas && !kiri && kanan && !bawah) {
Najib_irvani 0:2c9955e886b7 142 //kanan
Najib_irvani 0:2c9955e886b7 143 /*motor depan searah jarum jam*/
Najib_irvani 0:2c9955e886b7 144 HAL_GPIO_WritePin(GPIOC, GPIO_PIN_4,0);
Najib_irvani 0:2c9955e886b7 145 HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4,1);
Najib_irvani 0:2c9955e886b7 146 TIM3->CCR1=999;
Najib_irvani 0:2c9955e886b7 147 /*motor belakang !arah jarum jam*/
Najib_irvani 0:2c9955e886b7 148 HAL_GPIO_WritePin(GPIOB, GPIO_PIN_2,1);
Najib_irvani 0:2c9955e886b7 149 HAL_GPIO_WritePin(GPIOC, GPIO_PIN_5,0);
Najib_irvani 0:2c9955e886b7 150 TIM3->CCR2=999;
Najib_irvani 0:2c9955e886b7 151
Najib_irvani 0:2c9955e886b7 152 } else if (!atas && !kiri && !kanan && bawah) {
Najib_irvani 0:2c9955e886b7 153 //bawah
Najib_irvani 0:2c9955e886b7 154 HAL_GPIO_WritePin(GPIOG, GPIO_PIN_14,0);
Najib_irvani 0:2c9955e886b7 155 } else {
Najib_irvani 0:2c9955e886b7 156 /*motor depan stop*/
Najib_irvani 0:2c9955e886b7 157 HAL_GPIO_WritePin(GPIOC, GPIO_PIN_4,0);
Najib_irvani 0:2c9955e886b7 158 HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4,0);
Najib_irvani 0:2c9955e886b7 159 TIM3->CCR1=0;
Najib_irvani 0:2c9955e886b7 160 /*motor belakang stop*/
Najib_irvani 0:2c9955e886b7 161 HAL_GPIO_WritePin(GPIOB, GPIO_PIN_2,0);
Najib_irvani 0:2c9955e886b7 162 HAL_GPIO_WritePin(GPIOC, GPIO_PIN_5,0);
Najib_irvani 0:2c9955e886b7 163 TIM3->CCR2=0;
Najib_irvani 0:2c9955e886b7 164
Najib_irvani 0:2c9955e886b7 165 }
Najib_irvani 0:2c9955e886b7 166
Najib_irvani 0:2c9955e886b7 167 /* USER CODE BEGIN 3 */
Najib_irvani 0:2c9955e886b7 168
Najib_irvani 0:2c9955e886b7 169 }
Najib_irvani 0:2c9955e886b7 170 /* USER CODE END 3 */
Najib_irvani 0:2c9955e886b7 171
Najib_irvani 0:2c9955e886b7 172 }
Najib_irvani 0:2c9955e886b7 173
Najib_irvani 0:2c9955e886b7 174 /** System Clock Configuration
Najib_irvani 0:2c9955e886b7 175 */
Najib_irvani 0:2c9955e886b7 176 void SystemClock_Config(void)
Najib_irvani 0:2c9955e886b7 177 {
Najib_irvani 0:2c9955e886b7 178
Najib_irvani 0:2c9955e886b7 179 RCC_OscInitTypeDef RCC_OscInitStruct;
Najib_irvani 0:2c9955e886b7 180 RCC_ClkInitTypeDef RCC_ClkInitStruct;
Najib_irvani 0:2c9955e886b7 181
Najib_irvani 0:2c9955e886b7 182 __HAL_RCC_PWR_CLK_ENABLE();
Najib_irvani 0:2c9955e886b7 183
Najib_irvani 0:2c9955e886b7 184 __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE3);
Najib_irvani 0:2c9955e886b7 185
Najib_irvani 0:2c9955e886b7 186 RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;
Najib_irvani 0:2c9955e886b7 187 RCC_OscInitStruct.HSIState = RCC_HSI_ON;
Najib_irvani 0:2c9955e886b7 188 RCC_OscInitStruct.HSICalibrationValue = 16;
Najib_irvani 0:2c9955e886b7 189 RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
Najib_irvani 0:2c9955e886b7 190 RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI;
Najib_irvani 0:2c9955e886b7 191 RCC_OscInitStruct.PLL.PLLM = 8;
Najib_irvani 0:2c9955e886b7 192 RCC_OscInitStruct.PLL.PLLN = 84;
Najib_irvani 0:2c9955e886b7 193 RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2;
Najib_irvani 0:2c9955e886b7 194 RCC_OscInitStruct.PLL.PLLQ = 4;
Najib_irvani 0:2c9955e886b7 195 if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
Najib_irvani 0:2c9955e886b7 196 {
Najib_irvani 0:2c9955e886b7 197 Error_Handler();
Najib_irvani 0:2c9955e886b7 198 }
Najib_irvani 0:2c9955e886b7 199
Najib_irvani 0:2c9955e886b7 200 RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
Najib_irvani 0:2c9955e886b7 201 |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;
Najib_irvani 0:2c9955e886b7 202 RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
Najib_irvani 0:2c9955e886b7 203 RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
Najib_irvani 0:2c9955e886b7 204 RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2;
Najib_irvani 0:2c9955e886b7 205 RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;
Najib_irvani 0:2c9955e886b7 206 if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK)
Najib_irvani 0:2c9955e886b7 207 {
Najib_irvani 0:2c9955e886b7 208 Error_Handler();
Najib_irvani 0:2c9955e886b7 209 }
Najib_irvani 0:2c9955e886b7 210
Najib_irvani 0:2c9955e886b7 211 HAL_SYSTICK_Config(HAL_RCC_GetHCLKFreq()/1000);
Najib_irvani 0:2c9955e886b7 212
Najib_irvani 0:2c9955e886b7 213 HAL_SYSTICK_CLKSourceConfig(SYSTICK_CLKSOURCE_HCLK);
Najib_irvani 0:2c9955e886b7 214
Najib_irvani 0:2c9955e886b7 215 /* SysTick_IRQn interrupt configuration */
Najib_irvani 0:2c9955e886b7 216 HAL_NVIC_SetPriority(SysTick_IRQn, 0, 0);
Najib_irvani 0:2c9955e886b7 217 }
Najib_irvani 0:2c9955e886b7 218
Najib_irvani 0:2c9955e886b7 219 /* TIM3 init function */
Najib_irvani 0:2c9955e886b7 220 static void MX_TIM3_Init(void)
Najib_irvani 0:2c9955e886b7 221 {
Najib_irvani 0:2c9955e886b7 222
Najib_irvani 0:2c9955e886b7 223 TIM_MasterConfigTypeDef sMasterConfig;
Najib_irvani 0:2c9955e886b7 224 TIM_OC_InitTypeDef sConfigOC;
Najib_irvani 0:2c9955e886b7 225
Najib_irvani 0:2c9955e886b7 226 htim3.Instance = TIM3;
Najib_irvani 0:2c9955e886b7 227 htim3.Init.Prescaler = 3;
Najib_irvani 0:2c9955e886b7 228 htim3.Init.CounterMode = TIM_COUNTERMODE_UP;
Najib_irvani 0:2c9955e886b7 229 htim3.Init.Period = 999;
Najib_irvani 0:2c9955e886b7 230 htim3.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
Najib_irvani 0:2c9955e886b7 231 if (HAL_TIM_PWM_Init(&htim3) != HAL_OK)
Najib_irvani 0:2c9955e886b7 232 {
Najib_irvani 0:2c9955e886b7 233 Error_Handler();
Najib_irvani 0:2c9955e886b7 234 }
Najib_irvani 0:2c9955e886b7 235
Najib_irvani 0:2c9955e886b7 236 sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
Najib_irvani 0:2c9955e886b7 237 sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
Najib_irvani 0:2c9955e886b7 238 if (HAL_TIMEx_MasterConfigSynchronization(&htim3, &sMasterConfig) != HAL_OK)
Najib_irvani 0:2c9955e886b7 239 {
Najib_irvani 0:2c9955e886b7 240 Error_Handler();
Najib_irvani 0:2c9955e886b7 241 }
Najib_irvani 0:2c9955e886b7 242
Najib_irvani 0:2c9955e886b7 243 sConfigOC.OCMode = TIM_OCMODE_PWM1;
Najib_irvani 0:2c9955e886b7 244 sConfigOC.Pulse = 0;
Najib_irvani 0:2c9955e886b7 245 sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;
Najib_irvani 0:2c9955e886b7 246 sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;
Najib_irvani 0:2c9955e886b7 247 if (HAL_TIM_PWM_ConfigChannel(&htim3, &sConfigOC, TIM_CHANNEL_1) != HAL_OK)
Najib_irvani 0:2c9955e886b7 248 {
Najib_irvani 0:2c9955e886b7 249 Error_Handler();
Najib_irvani 0:2c9955e886b7 250 }
Najib_irvani 0:2c9955e886b7 251
Najib_irvani 0:2c9955e886b7 252 if (HAL_TIM_PWM_ConfigChannel(&htim3, &sConfigOC, TIM_CHANNEL_2) != HAL_OK)
Najib_irvani 0:2c9955e886b7 253 {
Najib_irvani 0:2c9955e886b7 254 Error_Handler();
Najib_irvani 0:2c9955e886b7 255 }
Najib_irvani 0:2c9955e886b7 256
Najib_irvani 0:2c9955e886b7 257 HAL_TIM_MspPostInit(&htim3);
Najib_irvani 0:2c9955e886b7 258
Najib_irvani 0:2c9955e886b7 259 }
Najib_irvani 0:2c9955e886b7 260
Najib_irvani 0:2c9955e886b7 261 /* USART1 init function */
Najib_irvani 0:2c9955e886b7 262 static void MX_USART1_UART_Init(void)
Najib_irvani 0:2c9955e886b7 263 {
Najib_irvani 0:2c9955e886b7 264
Najib_irvani 0:2c9955e886b7 265 huart1.Instance = USART1;
Najib_irvani 0:2c9955e886b7 266 huart1.Init.BaudRate = 115200;
Najib_irvani 0:2c9955e886b7 267 huart1.Init.WordLength = UART_WORDLENGTH_8B;
Najib_irvani 0:2c9955e886b7 268 huart1.Init.StopBits = UART_STOPBITS_1;
Najib_irvani 0:2c9955e886b7 269 huart1.Init.Parity = UART_PARITY_NONE;
Najib_irvani 0:2c9955e886b7 270 huart1.Init.Mode = UART_MODE_TX_RX;
Najib_irvani 0:2c9955e886b7 271 huart1.Init.HwFlowCtl = UART_HWCONTROL_NONE;
Najib_irvani 0:2c9955e886b7 272 huart1.Init.OverSampling = UART_OVERSAMPLING_16;
Najib_irvani 0:2c9955e886b7 273 if (HAL_UART_Init(&huart1) != HAL_OK)
Najib_irvani 0:2c9955e886b7 274 {
Najib_irvani 0:2c9955e886b7 275 Error_Handler();
Najib_irvani 0:2c9955e886b7 276 }
Najib_irvani 0:2c9955e886b7 277
Najib_irvani 0:2c9955e886b7 278 }
Najib_irvani 0:2c9955e886b7 279
Najib_irvani 0:2c9955e886b7 280 /** Configure pins as
Najib_irvani 0:2c9955e886b7 281 * Analog
Najib_irvani 0:2c9955e886b7 282 * Input
Najib_irvani 0:2c9955e886b7 283 * Output
Najib_irvani 0:2c9955e886b7 284 * EVENT_OUT
Najib_irvani 0:2c9955e886b7 285 * EXTI
Najib_irvani 0:2c9955e886b7 286 */
Najib_irvani 0:2c9955e886b7 287 static void MX_GPIO_Init(void)
Najib_irvani 0:2c9955e886b7 288 {
Najib_irvani 0:2c9955e886b7 289
Najib_irvani 0:2c9955e886b7 290 GPIO_InitTypeDef GPIO_InitStruct;
Najib_irvani 0:2c9955e886b7 291
Najib_irvani 0:2c9955e886b7 292 /* GPIO Ports Clock Enable */
Najib_irvani 0:2c9955e886b7 293 __HAL_RCC_GPIOH_CLK_ENABLE();
Najib_irvani 0:2c9955e886b7 294 __HAL_RCC_GPIOA_CLK_ENABLE();
Najib_irvani 0:2c9955e886b7 295 __HAL_RCC_GPIOC_CLK_ENABLE();
Najib_irvani 0:2c9955e886b7 296 __HAL_RCC_GPIOB_CLK_ENABLE();
Najib_irvani 0:2c9955e886b7 297 __HAL_RCC_GPIOG_CLK_ENABLE();
Najib_irvani 0:2c9955e886b7 298
Najib_irvani 0:2c9955e886b7 299 /*Configure GPIO pin Output Level */
Najib_irvani 0:2c9955e886b7 300 HAL_GPIO_WritePin(Lmotor1_rev_GPIO_Port, Lmotor1_rev_Pin, GPIO_PIN_RESET);
Najib_irvani 0:2c9955e886b7 301
Najib_irvani 0:2c9955e886b7 302 /*Configure GPIO pin Output Level */
Najib_irvani 0:2c9955e886b7 303 HAL_GPIO_WritePin(GPIOC, Lmotor1_fwd_Pin|Lmotor2_rev_Pin, GPIO_PIN_RESET);
Najib_irvani 0:2c9955e886b7 304
Najib_irvani 0:2c9955e886b7 305 /*Configure GPIO pin Output Level */
Najib_irvani 0:2c9955e886b7 306 HAL_GPIO_WritePin(Lmotor2_fwd_GPIO_Port, Lmotor2_fwd_Pin, GPIO_PIN_RESET);
Najib_irvani 0:2c9955e886b7 307
Najib_irvani 0:2c9955e886b7 308 /*Configure GPIO pin Output Level */
Najib_irvani 0:2c9955e886b7 309 HAL_GPIO_WritePin(led_indikator_GPIO_Port, led_indikator_Pin, GPIO_PIN_RESET);
Najib_irvani 0:2c9955e886b7 310
Najib_irvani 0:2c9955e886b7 311 /*Configure GPIO pin : Lmotor1_rev_Pin */
Najib_irvani 0:2c9955e886b7 312 GPIO_InitStruct.Pin = Lmotor1_rev_Pin;
Najib_irvani 0:2c9955e886b7 313 GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
Najib_irvani 0:2c9955e886b7 314 GPIO_InitStruct.Pull = GPIO_NOPULL;
Najib_irvani 0:2c9955e886b7 315 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
Najib_irvani 0:2c9955e886b7 316 HAL_GPIO_Init(Lmotor1_rev_GPIO_Port, &GPIO_InitStruct);
Najib_irvani 0:2c9955e886b7 317
Najib_irvani 0:2c9955e886b7 318 /*Configure GPIO pins : Lmotor1_fwd_Pin Lmotor2_rev_Pin */
Najib_irvani 0:2c9955e886b7 319 GPIO_InitStruct.Pin = Lmotor1_fwd_Pin|Lmotor2_rev_Pin;
Najib_irvani 0:2c9955e886b7 320 GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
Najib_irvani 0:2c9955e886b7 321 GPIO_InitStruct.Pull = GPIO_NOPULL;
Najib_irvani 0:2c9955e886b7 322 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
Najib_irvani 0:2c9955e886b7 323 HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
Najib_irvani 0:2c9955e886b7 324
Najib_irvani 0:2c9955e886b7 325 /*Configure GPIO pin : Lmotor2_fwd_Pin */
Najib_irvani 0:2c9955e886b7 326 GPIO_InitStruct.Pin = Lmotor2_fwd_Pin;
Najib_irvani 0:2c9955e886b7 327 GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
Najib_irvani 0:2c9955e886b7 328 GPIO_InitStruct.Pull = GPIO_NOPULL;
Najib_irvani 0:2c9955e886b7 329 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
Najib_irvani 0:2c9955e886b7 330 HAL_GPIO_Init(Lmotor2_fwd_GPIO_Port, &GPIO_InitStruct);
Najib_irvani 0:2c9955e886b7 331
Najib_irvani 0:2c9955e886b7 332 /*Configure GPIO pin : led_indikator_Pin */
Najib_irvani 0:2c9955e886b7 333 GPIO_InitStruct.Pin = led_indikator_Pin;
Najib_irvani 0:2c9955e886b7 334 GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
Najib_irvani 0:2c9955e886b7 335 GPIO_InitStruct.Pull = GPIO_NOPULL;
Najib_irvani 0:2c9955e886b7 336 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
Najib_irvani 0:2c9955e886b7 337 HAL_GPIO_Init(led_indikator_GPIO_Port, &GPIO_InitStruct);
Najib_irvani 0:2c9955e886b7 338
Najib_irvani 0:2c9955e886b7 339 }
Najib_irvani 0:2c9955e886b7 340
Najib_irvani 0:2c9955e886b7 341 /* USER CODE BEGIN 4 */
Najib_irvani 0:2c9955e886b7 342
Najib_irvani 0:2c9955e886b7 343 /* USER CODE END 4 */
Najib_irvani 0:2c9955e886b7 344
Najib_irvani 0:2c9955e886b7 345 /**
Najib_irvani 0:2c9955e886b7 346 * @brief This function is executed in case of error occurrence.
Najib_irvani 0:2c9955e886b7 347 * @param None
Najib_irvani 0:2c9955e886b7 348 * @retval None
Najib_irvani 0:2c9955e886b7 349 */
Najib_irvani 0:2c9955e886b7 350 void Error_Handler(void)
Najib_irvani 0:2c9955e886b7 351 {
Najib_irvani 0:2c9955e886b7 352 /* USER CODE BEGIN Error_Handler */
Najib_irvani 0:2c9955e886b7 353 /* User can add his own implementation to report the HAL error return state */
Najib_irvani 0:2c9955e886b7 354 while(1)
Najib_irvani 0:2c9955e886b7 355 {
Najib_irvani 0:2c9955e886b7 356 }
Najib_irvani 0:2c9955e886b7 357 /* USER CODE END Error_Handler */
Najib_irvani 0:2c9955e886b7 358 }
Najib_irvani 0:2c9955e886b7 359
Najib_irvani 0:2c9955e886b7 360 #ifdef USE_FULL_ASSERT
Najib_irvani 0:2c9955e886b7 361
Najib_irvani 0:2c9955e886b7 362 /**
Najib_irvani 0:2c9955e886b7 363 * @brief Reports the name of the source file and the source line number
Najib_irvani 0:2c9955e886b7 364 * where the assert_param error has occurred.
Najib_irvani 0:2c9955e886b7 365 * @param file: pointer to the source file name
Najib_irvani 0:2c9955e886b7 366 * @param line: assert_param error line source number
Najib_irvani 0:2c9955e886b7 367 * @retval None
Najib_irvani 0:2c9955e886b7 368 */
Najib_irvani 0:2c9955e886b7 369 void assert_failed(uint8_t* file, uint32_t line)
Najib_irvani 0:2c9955e886b7 370 {
Najib_irvani 0:2c9955e886b7 371 /* USER CODE BEGIN 6 */
Najib_irvani 0:2c9955e886b7 372 /* User can add his own implementation to report the file name and line number,
Najib_irvani 0:2c9955e886b7 373 ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
Najib_irvani 0:2c9955e886b7 374 /* USER CODE END 6 */
Najib_irvani 0:2c9955e886b7 375
Najib_irvani 0:2c9955e886b7 376 }
Najib_irvani 0:2c9955e886b7 377
Najib_irvani 0:2c9955e886b7 378 #endif
Najib_irvani 0:2c9955e886b7 379
Najib_irvani 0:2c9955e886b7 380 /**
Najib_irvani 0:2c9955e886b7 381 * @}
Najib_irvani 0:2c9955e886b7 382 */
Najib_irvani 0:2c9955e886b7 383
Najib_irvani 0:2c9955e886b7 384 /**
Najib_irvani 0:2c9955e886b7 385 * @}
Najib_irvani 0:2c9955e886b7 386 */
Najib_irvani 0:2c9955e886b7 387
Najib_irvani 0:2c9955e886b7 388 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/