完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
所用型号:STM32F103ZET6
PA2/3是摁扭。 PA4/5是LED。 上一篇写了串口的接收与发送和接收中断的 这次学习串口的DMA,通过DMA接收和发送。 DAM可以大大减少cpu的定向数据搬运的工作量 解放cpu,减少cpu的空闲时间,大大提高cpu的工作效率 具体的DMA大家去百度学习 CubeMX配置 1.DAM串口发送 函数:HAL_UART_Transmit_DMA(); 函数说明:
函数:HAL_UART_Receive_DMA(); 函数说明:
主函数 int main(void) { /* USER CODE BEGIN 1 */ /* USER CODE END 1 */ /* MCU Configuration--------------------------------------------------------*/ /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ HAL_Init(); /* USER CODE BEGIN Init */ /* USER CODE END Init */ /* Configure the system clock */ SystemClock_Config(); /* USER CODE BEGIN SysInit */ /* USER CODE END SysInit */ /* Initialize all configured peripherals */ MX_GPIO_Init(); MX_DMA_Init(); MX_USART1_UART_Init(); /* USER CODE BEGIN 2 */ /* USER CODE END 2 */ /* Infinite loop */ /* USER CODE BEGIN WHILE */ strcpy(txbuf, "你好这是一次串口DAM测试,对于DMA接收,在接收后会立即返回,对于DMA发送会重复发送“a”,当A3的摁扭嗯下时会按照ASCII码加1rn"); HAL_UART_Transmit(&huart1, txbuf, strlen(txbuf), 1000); txbuf[0] = 97; HAL_UART_Transmit_DMA(&huart1, txbuf, 1); //开启串口DMA发送 HAL_UART_Receive_DMA(&huart1, rxbuf, 1);//开启串口DMA接收 while (1) { /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */ if (HAL_GPIO_ReadPin(GPIOA, GPIO_PIN_3) == 0) { HAL_Delay(10); if (HAL_GPIO_ReadPin(GPIOA, GPIO_PIN_3) == 0) { txbuf[0]++; } } } /* USER CODE END 3 */ } 我开启了串口中断,DMA发送于接收也会触发串口中断 所以中断代码,在main.c里面即可 void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart) { HAL_UART_Transmit_DMA(&huart1, txbuf, 1); } void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart) { HAL_UART_Transmit(&huart1, rxbuf, strlen(txbuf), 100); } |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1617 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1543 浏览 1 评论
977 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
683 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1595 浏览 2 评论
1863浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
644浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
515浏览 3评论
531浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
504浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 02:16 , Processed in 0.753239 second(s), Total 79, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号