HAL库配置
1、设置时钟、晶振
2、配置UART、GPIO、DMA
代码
/* USER CODE BEGIN PM */
#define Max_size 100
/* USER CODE END PM */
uint8_t SendBuff[Max_size];
uint8_t i = 0;
int main(void)
{
HAL_Init();
SystemClock_Config();
/* Initialize all configured peripherals */
MX_GPIO_Init();
MX_DMA_Init();
MX_USART1_UART_Init();
printf("this is a uart test\r\n");
/* 填充数组内容 */
for(i=0;i<Max_size;i++)
{
SendBuff[i] = 'A';
}
/* 链接传输 */
HAL_UART_Transmit_DMA(&huart1 ,(uint8_t *)SendBuff,Max_size);
while (1)
{
HAL_GPIO_TogglePin(GPIOF, LED_R_Pin);
HAL_Delay(1000);
}
}
实验现象结果
在DMA传输红灯也能正常实现翻转,DMA传输不影响CPU工作。