mirror of
https://github.com/No-Chicken/Power-Pico.git
synced 2026-04-03 13:02:36 +08:00
更改ADC缓存对齐
This commit is contained in:
@@ -31,14 +31,14 @@ extern "C" {
|
|||||||
/* USER CODE BEGIN Includes */
|
/* USER CODE BEGIN Includes */
|
||||||
|
|
||||||
#define ADC_TIMES 10
|
#define ADC_TIMES 10
|
||||||
#define ADC_CHANELS 5
|
#define ADC_CHANELS 4
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
uint8_t header[5];
|
uint8_t header[6]; //2的倍数
|
||||||
// 0x55, 0xAA header
|
// 0x55, 0xAA header
|
||||||
// 0x0A adc times, 0x05 adc channels (so data lenth is times * channels * 2 bytes)
|
// 0x0A 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.
|
// 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 数据 ()
|
uint16_t data[ADC_TIMES][ADC_CHANELS];
|
||||||
} __attribute__((packed)) ADC_Packet;
|
} __attribute__((packed)) ADC_Packet;
|
||||||
|
|
||||||
extern ADC_Packet adc_packet;
|
extern ADC_Packet adc_packet;
|
||||||
|
|||||||
@@ -54,7 +54,7 @@ void MX_ADC1_Init(void)
|
|||||||
hadc1.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_RISING;
|
hadc1.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_RISING;
|
||||||
hadc1.Init.ExternalTrigConv = ADC_EXTERNALTRIGCONV_T2_TRGO;
|
hadc1.Init.ExternalTrigConv = ADC_EXTERNALTRIGCONV_T2_TRGO;
|
||||||
hadc1.Init.DataAlign = ADC_DATAALIGN_RIGHT;
|
hadc1.Init.DataAlign = ADC_DATAALIGN_RIGHT;
|
||||||
hadc1.Init.NbrOfConversion = 5;
|
hadc1.Init.NbrOfConversion = 4;
|
||||||
hadc1.Init.DMAContinuousRequests = ENABLE;
|
hadc1.Init.DMAContinuousRequests = ENABLE;
|
||||||
hadc1.Init.EOCSelection = ADC_EOC_SINGLE_CONV;
|
hadc1.Init.EOCSelection = ADC_EOC_SINGLE_CONV;
|
||||||
if (HAL_ADC_Init(&hadc1) != HAL_OK)
|
if (HAL_ADC_Init(&hadc1) != HAL_OK)
|
||||||
@@ -66,7 +66,7 @@ void MX_ADC1_Init(void)
|
|||||||
*/
|
*/
|
||||||
sConfig.Channel = ADC_CHANNEL_5;
|
sConfig.Channel = ADC_CHANNEL_5;
|
||||||
sConfig.Rank = 1;
|
sConfig.Rank = 1;
|
||||||
sConfig.SamplingTime = ADC_SAMPLETIME_144CYCLES;
|
sConfig.SamplingTime = ADC_SAMPLETIME_15CYCLES;
|
||||||
if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
|
if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
|
||||||
{
|
{
|
||||||
Error_Handler();
|
Error_Handler();
|
||||||
@@ -98,15 +98,6 @@ void MX_ADC1_Init(void)
|
|||||||
{
|
{
|
||||||
Error_Handler();
|
Error_Handler();
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Configure for the selected ADC regular channel its corresponding rank in the sequencer and its sample time.
|
|
||||||
*/
|
|
||||||
sConfig.Channel = ADC_CHANNEL_9;
|
|
||||||
sConfig.Rank = 5;
|
|
||||||
if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
|
|
||||||
{
|
|
||||||
Error_Handler();
|
|
||||||
}
|
|
||||||
/* USER CODE BEGIN ADC1_Init 2 */
|
/* USER CODE BEGIN ADC1_Init 2 */
|
||||||
__HAL_DMA_ENABLE_IT(&hdma_adc1, DMA_IT_TC); /*开启DMA传输完成中断*/
|
__HAL_DMA_ENABLE_IT(&hdma_adc1, DMA_IT_TC); /*开启DMA传输完成中断*/
|
||||||
/* USER CODE END ADC1_Init 2 */
|
/* USER CODE END ADC1_Init 2 */
|
||||||
@@ -132,14 +123,13 @@ void HAL_ADC_MspInit(ADC_HandleTypeDef* adcHandle)
|
|||||||
PA6 ------> ADC1_IN6
|
PA6 ------> ADC1_IN6
|
||||||
PA7 ------> ADC1_IN7
|
PA7 ------> ADC1_IN7
|
||||||
PB0 ------> ADC1_IN8
|
PB0 ------> ADC1_IN8
|
||||||
PB1 ------> ADC1_IN9
|
|
||||||
*/
|
*/
|
||||||
GPIO_InitStruct.Pin = GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7;
|
GPIO_InitStruct.Pin = GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7;
|
||||||
GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
|
GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
|
||||||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||||||
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
|
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
|
||||||
|
|
||||||
GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1;
|
GPIO_InitStruct.Pin = GPIO_PIN_0;
|
||||||
GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
|
GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
|
||||||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||||||
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
|
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
|
||||||
@@ -185,11 +175,10 @@ void HAL_ADC_MspDeInit(ADC_HandleTypeDef* adcHandle)
|
|||||||
PA6 ------> ADC1_IN6
|
PA6 ------> ADC1_IN6
|
||||||
PA7 ------> ADC1_IN7
|
PA7 ------> ADC1_IN7
|
||||||
PB0 ------> ADC1_IN8
|
PB0 ------> ADC1_IN8
|
||||||
PB1 ------> ADC1_IN9
|
|
||||||
*/
|
*/
|
||||||
HAL_GPIO_DeInit(GPIOA, GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7);
|
HAL_GPIO_DeInit(GPIOA, GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7);
|
||||||
|
|
||||||
HAL_GPIO_DeInit(GPIOB, GPIO_PIN_0|GPIO_PIN_1);
|
HAL_GPIO_DeInit(GPIOB, GPIO_PIN_0);
|
||||||
|
|
||||||
/* ADC1 DMA DeInit */
|
/* ADC1 DMA DeInit */
|
||||||
HAL_DMA_DeInit(adcHandle->DMA_Handle);
|
HAL_DMA_DeInit(adcHandle->DMA_Handle);
|
||||||
|
|||||||
Reference in New Issue
Block a user