你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【经验分享】STM32CubeMX—串口空闲中断+DMA接收

[复制链接]
STMCU小助手 发布时间:2021-11-15 21:01
STM32CubeMX—串口空闲中断+DMA接收

1)、串口一配置。

2)、开启中断模式

3)、生成工程代8 {% L, s7 z" {: J! J

+ E$ d0 A3 l7 v: S  e2 p
' c2 L2 g0 y* ~# \: I6 r

在stm32g0xx_it.c中添

  1. <p style="line-height: 26px;"><font color="rgb(77, 77, 77)"><font face="-apple-system, " "=""><font style="font-size: 16px">uint8_t recv_end_flag=0;</font></font></font></p><p style="line-height: 26px;"><font color="rgb(77, 77, 77)"><font face="-apple-system, " "=""><font style="font-size: 16px">void USART1_IRQHandler(void)6 d4 D, V' D8 K8 F. n
  2. {3 J6 s/ [+ B3 [5 x; b6 k
  3.   /* USER CODE BEGIN USART1_IRQn 0 */
    6 k1 U2 W3 K# Q
  4.     recv_end_flag = 1;. Y0 L) l" p* s$ l
  5.     __HAL_UART_CLEAR_IDLEFLAG(&huart1);( s  V& d" v" v6 |9 i
  6.   /* USER CODE END USART1_IRQn 0 */
    6 f  j3 c+ z) _/ |8 ]
  7.   HAL_UART_IRQHandler(&huart1);
    5 U6 {4 C& ]7 ~; G; d1 Q
  8.   /* USER CODE BEGIN USART1_IRQn 1 */</font></font></font></p><p style="line-height: 26px;"><font color="rgb(77, 77, 77)"><font face="-apple-system, " "=""><font style="font-size: 16px">  /* USER CODE END USART1_IRQn 1 */</font></font></font></p><p style="line-height: 26px;"><font color="rgb(77, 77, 77)"><font face="-apple-system, " "=""><font style="font-size: 16px">}</font></font></font></p>
复制代码
- k! ]: Y% @0 P: V9 t

在main.c中加上

  1. <p style="line-height: 26px;"><font color="rgb(77, 77, 77)"><font face="-apple-system, " "=""><font style="font-size: 16px">#include"stm32g0xx_it.h"</font></font></font></p><p style="line-height: 26px;"><font color="rgb(77, 77, 77)"><font face="-apple-system, " "=""><font style="font-size: 16px">extern uint8_t recv_end_flag;</font></font></font></p>
    / k" M8 Y4 h' ^  s
  2. <p style="line-height: 26px;"><font color="rgb(77, 77, 77)"><font face="-apple-system, " "=""><font style="font-size: 16px">MX_GPIO_Init();
    & ^6 C4 n& u+ K5 W2 L7 P6 R5 p8 ]
  3.   MX_DMA_Init();
    9 w" P# e8 w" j  `
  4.   MX_ADC1_Init();4 i5 _8 J+ @! H/ ?  ?0 G
  5.   MX_USART1_UART_Init();  e/ N4 a! M1 N
  6.   /* USER CODE BEGIN 2 */
    0 K1 d5 t  w1 s5 |1 S
  7.     __HAL_UART_ENABLE_IT(&huart1, UART_IT_IDLE);% @4 d- E2 `% k! Q! A
  8.     HAL_UART_Receive_DMA(&huart1,rx_buffer,sizeof(rx_buffer));
    : s# }) k* p9 B
  9.   /* USER CODE END 2 */</font></font></font></p><p style="line-height: 26px;"><font color="rgb(77, 77, 77)"><font face="-apple-system, " "=""><font style="font-size: 16px">  /* Infinite loop *// i% k  z$ w" X. S3 [5 ?
  10.   /* USER CODE BEGIN WHILE */
    $ }5 u0 v  ~, K/ y# F/ w+ j1 b
  11.   while (1)
    / `9 Z% K1 n4 b" _+ P
  12.   {</font></font></font></p><p style="line-height: 26px;"><font color="rgb(77, 77, 77)"><font face="-apple-system, " "=""><font style="font-size: 16px">        HAL_GPIO_WritePin(GPIOC,GPIO_PIN_13,GPIO_PIN_RESET);
    3 p$ C# a# n! y
  13.         HAL_Delay(200);- w: w1 d# v7 S$ A( {% {/ k" |: x
  14.         HAL_GPIO_WritePin(GPIOC,GPIO_PIN_13,GPIO_PIN_SET);</font></font></font></p><p style="line-height: 26px;"><font color="rgb(77, 77, 77)"><font face="-apple-system, " "=""><font style="font-size: 16px">        HAL_Delay(200);
    + k% n- S  R4 ~  ?( H
  15.         if(recv_end_flag ==1){$ h3 Y/ e( z, B6 O

  16.   v& b% Y5 T+ |) Q
  17.         }
    5 u4 p9 u4 {  b$ C
  18.     /* USER CODE END WHILE */</font></font></font></p><p style="line-height: 26px;"><font color="rgb(77, 77, 77)"><font face="-apple-system, " "=""><font style="font-size: 16px">    /* USER CODE BEGIN 3 */: H5 C6 D9 W+ N% Q2 B8 s. D
  19.   }3 |* C$ Y5 g& W* m2 f0 m0 \; z
  20.   /* USER CODE END 3 */
    * X# E2 e* d% u; ?8 ?
  21. }</font></font></font></p>
复制代码

9 t: q* f$ \8 P: E* [! D7 {
4 L+ j* v  D8 d7 g
收藏 评论1 发布时间:2021-11-15 21:01

举报

1个回答
lugl 回答时间:2022-12-27 08:19:52
有好多乱码呢,可否整一下,看的人感受好一点。
  u5 o+ ^+ f" z, O* }6 l

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版