mirror of
https://github.com/No-Chicken/Power-Pico.git
synced 2026-04-03 13:02:36 +08:00
add buffer in adc.h
This commit is contained in:
@@ -29,10 +29,23 @@ extern "C" {
|
|||||||
#include "main.h"
|
#include "main.h"
|
||||||
|
|
||||||
/* USER CODE BEGIN Includes */
|
/* USER CODE BEGIN Includes */
|
||||||
|
|
||||||
#define ADC_TIMES 10
|
#define ADC_TIMES 10
|
||||||
#define ADC_CHANELS 4
|
#define ADC_CHANELS 4
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
uint8_t header[5];
|
||||||
|
// 0x55, 0xAA header
|
||||||
|
// 0x64 adc times, 0x05 adc channels (so data lenth is times * channels * 2 bytes)
|
||||||
|
// and 1byte for direct & unit, 0x0? for positive, 0x1? for negative, 0x?0 for LOW, 0x?1 for MID, 0x?2 for HIGH
|
||||||
|
uint16_t data[ADC_TIMES][ADC_CHANELS]; // ADC 数据(真正要采集的地方)
|
||||||
|
} __attribute__((packed)) ADC_Packet;
|
||||||
|
|
||||||
|
extern ADC_Packet adc_packet1, adc_packet2;
|
||||||
|
|
||||||
// cur 5mr, cur 500mr, cur 50r, val
|
// cur 5mr, cur 500mr, cur 50r, val
|
||||||
extern uint16_t adc_buf[ADC_TIMES][ADC_CHANELS];
|
extern uint16_t adc_buf1[ADC_TIMES+1][ADC_CHANELS];
|
||||||
|
extern uint16_t adc_buf2[ADC_TIMES+1][ADC_CHANELS];
|
||||||
/* USER CODE END Includes */
|
/* USER CODE END Includes */
|
||||||
|
|
||||||
extern ADC_HandleTypeDef hadc1;
|
extern ADC_HandleTypeDef hadc1;
|
||||||
|
|||||||
@@ -22,8 +22,10 @@
|
|||||||
|
|
||||||
/* USER CODE BEGIN 0 */
|
/* USER CODE BEGIN 0 */
|
||||||
|
|
||||||
|
ADC_Packet adc_packet1, adc_packet2;
|
||||||
// cur 5mr, cur 500mr, cur 50r, voltage
|
// cur 5mr, cur 500mr, cur 50r, voltage
|
||||||
uint16_t adc_buf[ADC_TIMES][ADC_CHANELS];
|
uint16_t adc_buf1[ADC_TIMES+1][ADC_CHANELS];
|
||||||
|
uint16_t adc_buf2[ADC_TIMES+1][ADC_CHANELS];
|
||||||
|
|
||||||
/* USER CODE END 0 */
|
/* USER CODE END 0 */
|
||||||
|
|
||||||
@@ -100,7 +102,7 @@ void MX_ADC1_Init(void)
|
|||||||
Error_Handler();
|
Error_Handler();
|
||||||
}
|
}
|
||||||
/* USER CODE BEGIN ADC1_Init 2 */
|
/* USER CODE BEGIN ADC1_Init 2 */
|
||||||
|
__HAL_DMA_ENABLE_IT(&hdma_adc1, DMA_IT_TC); /*开启DMA传输完成中断*/
|
||||||
/* USER CODE END ADC1_Init 2 */
|
/* USER CODE END ADC1_Init 2 */
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -144,7 +146,7 @@ void HAL_ADC_MspInit(ADC_HandleTypeDef* adcHandle)
|
|||||||
hdma_adc1.Init.MemInc = DMA_MINC_ENABLE;
|
hdma_adc1.Init.MemInc = DMA_MINC_ENABLE;
|
||||||
hdma_adc1.Init.PeriphDataAlignment = DMA_PDATAALIGN_HALFWORD;
|
hdma_adc1.Init.PeriphDataAlignment = DMA_PDATAALIGN_HALFWORD;
|
||||||
hdma_adc1.Init.MemDataAlignment = DMA_MDATAALIGN_HALFWORD;
|
hdma_adc1.Init.MemDataAlignment = DMA_MDATAALIGN_HALFWORD;
|
||||||
hdma_adc1.Init.Mode = DMA_CIRCULAR;
|
hdma_adc1.Init.Mode = DMA_NORMAL;
|
||||||
hdma_adc1.Init.Priority = DMA_PRIORITY_LOW;
|
hdma_adc1.Init.Priority = DMA_PRIORITY_LOW;
|
||||||
hdma_adc1.Init.FIFOMode = DMA_FIFOMODE_DISABLE;
|
hdma_adc1.Init.FIFOMode = DMA_FIFOMODE_DISABLE;
|
||||||
if (HAL_DMA_Init(&hdma_adc1) != HAL_OK)
|
if (HAL_DMA_Init(&hdma_adc1) != HAL_OK)
|
||||||
|
|||||||
Reference in New Issue
Block a user