Rev 6 | Rev 8 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 6 | Rev 7 | ||
---|---|---|---|
Line 32... | Line 32... | ||
32 | */ |
32 | */ |
33 | /* Includes ------------------------------------------------------------------*/ |
33 | /* Includes ------------------------------------------------------------------*/ |
34 | #include "stm32l1xx_hal.h" |
34 | #include "stm32l1xx_hal.h" |
35 | 35 | ||
36 | /* USER CODE BEGIN Includes */ |
36 | /* USER CODE BEGIN Includes */ |
37 | - | ||
- | 37 | #include "serial.h" |
|
38 | /* USER CODE END Includes */ |
38 | /* USER CODE END Includes */ |
39 | 39 | ||
40 | /* Private variables ---------------------------------------------------------*/ |
40 | /* Private variables ---------------------------------------------------------*/ |
41 | ADC_HandleTypeDef hadc; |
41 | ADC_HandleTypeDef hadc; |
42 | DMA_HandleTypeDef hdma_adc; |
42 | DMA_HandleTypeDef hdma_adc; |
Line 70... | Line 70... | ||
70 | 70 | ||
71 | 71 | ||
72 | /* USER CODE BEGIN PFP */ |
72 | /* USER CODE BEGIN PFP */ |
73 | /* Private function prototypes -----------------------------------------------*/ |
73 | /* Private function prototypes -----------------------------------------------*/ |
74 | 74 | ||
- | 75 | long ADC_samples[6]; |
|
- | 76 | ||
- | 77 | ||
- | 78 | void ConfigureDMA(void) |
|
- | 79 | { |
|
- | 80 | hdma_adc.Instance = DMA1_Channel1; |
|
- | 81 | hdma_adc.Init.Direction = DMA_PERIPH_TO_MEMORY; |
|
- | 82 | hdma_adc.Init.PeriphInc = DMA_PINC_DISABLE; |
|
- | 83 | hdma_adc.Init.MemInc = DMA_MINC_ENABLE; |
|
- | 84 | hdma_adc.Init.PeriphDataAlignment = DMA_PDATAALIGN_WORD; |
|
- | 85 | hdma_adc.Init.MemDataAlignment = DMA_MDATAALIGN_WORD; |
|
- | 86 | hdma_adc.Init.Mode = DMA_CIRCULAR; // make the DMA loop automatically |
|
- | 87 | hdma_adc.Init.Priority = DMA_PRIORITY_LOW; |
|
- | 88 | HAL_DMA_Init(&hdma_adc); |
|
- | 89 | __HAL_LINKDMA(&hadc, DMA_Handle, hdma_adc); |
|
- | 90 | ||
- | 91 | } |
|
- | 92 | ||
75 | /* USER CODE END PFP */ |
93 | /* USER CODE END PFP */ |
76 | 94 | ||
77 | /* USER CODE BEGIN 0 */ |
95 | /* USER CODE BEGIN 0 */ |
78 | 96 | ||
79 | /* USER CODE END 0 */ |
97 | /* USER CODE END 0 */ |
Line 103... | Line 121... | ||
103 | MX_USART1_UART_Init(); |
121 | MX_USART1_UART_Init(); |
104 | MX_USART2_UART_Init(); |
122 | MX_USART2_UART_Init(); |
105 | 123 | ||
106 | /* USER CODE BEGIN 2 */ |
124 | /* USER CODE BEGIN 2 */ |
107 | 125 | ||
- | 126 | __HAL_RCC_SPI1_CLK_ENABLE() ; // Temp sensor port |
|
- | 127 | __HAL_RCC_USART1_CLK_ENABLE() ; // PLX comms port |
|
- | 128 | __HAL_RCC_USART2_CLK_ENABLE() ; // Debug comms port |
|
- | 129 | ||
- | 130 | __HAL_RCC_ADC1_CLK_ENABLE(); // enable the ADC |
|
- | 131 | ||
- | 132 | ||
- | 133 | ConfigureDMA(); |
|
- | 134 | // HAL_ADC_Start_DMA(&g_AdcHandle, g_ADCBuffer, ADC_BUFFER_LENGTH); |
|
- | 135 | ||
- | 136 | /* setup the USART control blocks */ |
|
- | 137 | init_usart_ctl(&uc1, huart1.Instance); |
|
- | 138 | init_usart_ctl(&uc2, huart2.Instance); |
|
- | 139 | ||
- | 140 | EnableSerialRxInterrupt(&uc1); |
|
- | 141 | EnableSerialRxInterrupt(&uc2); |
|
- | 142 | ||
- | 143 | PutCharSerial(&uc2,'A'); |
|
- | 144 | ||
108 | /* USER CODE END 2 */ |
145 | /* USER CODE END 2 */ |
109 | 146 | ||
110 | /* Infinite loop */ |
147 | /* Infinite loop */ |
111 | /* USER CODE BEGIN WHILE */ |
148 | /* USER CODE BEGIN WHILE */ |
112 | while (1) |
149 | while (1) |
113 | { |
150 | { |
114 | /* USER CODE END WHILE */ |
151 | /* USER CODE END WHILE */ |
- | 152 | char c = GetCharSerial(&uc2); |
|
- | 153 | PutCharSerial(&uc2,c); |
|
- | 154 | ||
- | 155 | ||
115 | 156 | ||
116 | /* USER CODE BEGIN 3 */ |
157 | /* USER CODE BEGIN 3 */ |
117 | 158 | ||
118 | } |
159 | } |
119 | /* USER CODE END 3 */ |
160 | /* USER CODE END 3 */ |
Line 452... | Line 493... | ||
452 | GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; |
493 | GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; |
453 | GPIO_InitStruct.Pull = GPIO_NOPULL; |
494 | GPIO_InitStruct.Pull = GPIO_NOPULL; |
454 | HAL_GPIO_Init(GPIOH, &GPIO_InitStruct); |
495 | HAL_GPIO_Init(GPIOH, &GPIO_InitStruct); |
455 | 496 | ||
456 | /*Configure GPIO pins : PA0 PA1 PA8 PA11 |
497 | /*Configure GPIO pins : PA0 PA1 PA8 PA11 |
457 | PA12 PA13 PA14 */ |
498 | PA12 */ |
458 | GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_8|GPIO_PIN_11 |
499 | GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_8|GPIO_PIN_11 |
459 | |GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14; |
500 | |GPIO_PIN_12; |
460 | GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; |
501 | GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; |
461 | GPIO_InitStruct.Pull = GPIO_NOPULL; |
502 | GPIO_InitStruct.Pull = GPIO_NOPULL; |
462 | HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); |
503 | HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); |
463 | 504 | ||
464 | /*Configure GPIO pin : NSS_CHT_Pin */ |
505 | /*Configure GPIO pin : LED_Blink_Pin */ |
465 | GPIO_InitStruct.Pin = NSS_CHT_Pin; |
506 | GPIO_InitStruct.Pin = LED_Blink_Pin; |
466 | GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; |
507 | GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; |
467 | GPIO_InitStruct.Pull = GPIO_NOPULL; |
508 | GPIO_InitStruct.Pull = GPIO_NOPULL; |
468 | GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; |
509 | GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; |
469 | HAL_GPIO_Init(NSS_CHT_GPIO_Port, &GPIO_InitStruct); |
510 | HAL_GPIO_Init(LED_Blink_GPIO_Port, &GPIO_InitStruct); |
470 | 511 | ||
471 | /*Configure GPIO pins : SPI_NSS1_Pin SPI1CD_Pin */ |
512 | /*Configure GPIO pins : SPI_NSS1_Pin SPI1CD_Pin */ |
472 | GPIO_InitStruct.Pin = SPI_NSS1_Pin|SPI1CD_Pin; |
513 | GPIO_InitStruct.Pin = SPI_NSS1_Pin|SPI1CD_Pin; |
473 | GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; |
514 | GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; |
474 | GPIO_InitStruct.Pull = GPIO_NOPULL; |
515 | GPIO_InitStruct.Pull = GPIO_NOPULL; |
475 | GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; |
516 | GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; |
476 | HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); |
517 | HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); |
477 | 518 | ||
478 | /*Configure GPIO pin : SPI_RESET_Pin */ |
519 | /*Configure GPIO pins : SPI_RESET_Pin SPI_NS_Temp_Pin */ |
479 | GPIO_InitStruct.Pin = SPI_RESET_Pin; |
520 | GPIO_InitStruct.Pin = SPI_RESET_Pin|SPI_NS_Temp_Pin; |
480 | GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; |
521 | GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; |
481 | GPIO_InitStruct.Pull = GPIO_NOPULL; |
522 | GPIO_InitStruct.Pull = GPIO_NOPULL; |
482 | GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; |
523 | GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; |
483 | HAL_GPIO_Init(SPI_RESET_GPIO_Port, &GPIO_InitStruct); |
524 | HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); |
484 | 525 | ||
485 | /*Configure GPIO pins : PB1 PB2 PB12 PB13 |
526 | /*Configure GPIO pins : PB2 PB12 PB13 PB14 |
486 | PB14 PB15 PB4 PB5 |
527 | PB15 PB4 PB5 PB6 |
487 | PB6 PB7 PB8 PB9 */ |
528 | PB7 PB8 PB9 */ |
488 | GPIO_InitStruct.Pin = GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_12|GPIO_PIN_13 |
529 | GPIO_InitStruct.Pin = GPIO_PIN_2|GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14 |
489 | |GPIO_PIN_14|GPIO_PIN_15|GPIO_PIN_4|GPIO_PIN_5 |
530 | |GPIO_PIN_15|GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6 |
490 | |GPIO_PIN_6|GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_9; |
531 | |GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_9; |
491 | GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; |
532 | GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; |
492 | GPIO_InitStruct.Pull = GPIO_NOPULL; |
533 | GPIO_InitStruct.Pull = GPIO_NOPULL; |
493 | HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); |
534 | HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); |
494 | 535 | ||
495 | /*Configure GPIO pin : PD2 */ |
536 | /*Configure GPIO pin : PD2 */ |
Line 497... | Line 538... | ||
497 | GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; |
538 | GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; |
498 | GPIO_InitStruct.Pull = GPIO_NOPULL; |
539 | GPIO_InitStruct.Pull = GPIO_NOPULL; |
499 | HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); |
540 | HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); |
500 | 541 | ||
501 | /*Configure GPIO pin Output Level */ |
542 | /*Configure GPIO pin Output Level */ |
502 | HAL_GPIO_WritePin(NSS_CHT_GPIO_Port, NSS_CHT_Pin, GPIO_PIN_RESET); |
543 | HAL_GPIO_WritePin(LED_Blink_GPIO_Port, LED_Blink_Pin, GPIO_PIN_RESET); |
- | 544 | ||
- | 545 | /*Configure GPIO pin Output Level */ |
|
- | 546 | HAL_GPIO_WritePin(SPI_NSS1_GPIO_Port, SPI_NSS1_Pin, GPIO_PIN_SET); |
|
503 | 547 | ||
504 | /*Configure GPIO pin Output Level */ |
548 | /*Configure GPIO pin Output Level */ |
505 | HAL_GPIO_WritePin(GPIOC, SPI_NSS1_Pin|SPI1CD_Pin, GPIO_PIN_RESET); |
549 | HAL_GPIO_WritePin(SPI1CD_GPIO_Port, SPI1CD_Pin, GPIO_PIN_RESET); |
506 | 550 | ||
507 | /*Configure GPIO pin Output Level */ |
551 | /*Configure GPIO pin Output Level */ |
508 | HAL_GPIO_WritePin(SPI_RESET_GPIO_Port, SPI_RESET_Pin, GPIO_PIN_RESET); |
552 | HAL_GPIO_WritePin(SPI_RESET_GPIO_Port, SPI_RESET_Pin, GPIO_PIN_RESET); |
509 | 553 | ||
- | 554 | /*Configure GPIO pin Output Level */ |
|
- | 555 | HAL_GPIO_WritePin(SPI_NS_Temp_GPIO_Port, SPI_NS_Temp_Pin, GPIO_PIN_SET); |
|
- | 556 | ||
510 | } |
557 | } |
511 | 558 | ||
512 | /* USER CODE BEGIN 4 */ |
559 | /* USER CODE BEGIN 4 */ |
513 | 560 | ||
514 | /* USER CODE END 4 */ |
561 | /* USER CODE END 4 */ |