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

【经验分享】关于stm32g030c8t6使用过程钟踩过的坑

[复制链接]
STMCU小助手 发布时间:2021-11-10 18:02
最近使用STM32G030来做项目,使用的过程发现有太多的坑了,折腾自己快要崩溃,主要问题还是初始化的过程中初始化失败,导致程序不运行。' m. m: t7 O7 L3 L9 v( s" I
' b1 _8 R/ }1 n: G! ?& O: v. J5 F& |
现在总结下遇到的问题:+ {7 S' i' g- z; |
1.ADC使用多通道扫描模式用DMA传输数据,HAL_ADC_Start(&hadc1);这个开始必须要放在DMA初始化相关函数的后面。3 K' c0 q! R" m( n5 w
2.开启串口中断后导致程序异常不运行,最后把开启传偶中断函数放在main函数的最前面就可以正常运行% B8 W9 M2 F7 t% A* U; q
3.程序是按顺序上之下运行,初始化时候要考虑好顺序关系。
2 r$ B& L: f' D
  B' ?. ?0 O* r; T' h/ B7 h比如按下面的顺序进行初始化才可以正常的运行& e6 ^# ?/ Q0 R. d; m- E
  1. /* USER CODE BEGIN 1 /+ L  Z$ y1 E* e) G3 v' P
  2. / STM32G0xx HAL library initialization:3 t# i! W4 a! h& u4 e- z+ @: H
  3. - Configure the Flash prefetch
    % A# ]( a  _5 e4 M( e! k' a0 d( h
  4. - Systick timer is configured by default as source of time base, but user
    7 Q0 {; T# l* R/ s1 J
  5. can eventually implement his proper time base source (a general purpose
    ; \+ n+ |$ n  j
  6. timer for example or other time source), keeping in mind that Time base. V) v1 w% E) e
  7. duration should be kept 1ms since PPP_TIMEOUT_VALUEs are defined and
    , [* n) W, u& m" ?6 y
  8. handled in milliseconds basis.6 l. r) [8 P; [+ |
  9. - Low Level Initialization
    + N# {$ C7 Q- W6 A5 V4 s
  10. */
    8 D/ @' V2 Z( t$ L* {! b4 X
  11. , t8 `2 i. a$ k6 t* U
  12. /* USER CODE END 1 */
    2 w4 z% o" G$ X  `/ @/ |# x

  13. ( }" E. v7 U7 H* U& a' T/ u
  14. /* MCU Configuration--------------------------------------------------------*/
    # o) Q$ O( r6 I6 W; x7 H7 o

  15. # O* x8 n: l1 r( f8 ]
  16. /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
    : m+ b6 B6 q( }  T! i; S
  17. HAL_Init();6 e' v- O+ R, o4 F% ^3 W( P
  18. Enable_IT_Uart_Fun();
    4 z+ \0 y7 W! `7 Z$ K! P2 ?9 h
  19. 5 {) B3 f6 }4 S! v& q# G
  20. /* USER CODE BEGIN Init /
    3 X8 J2 d" x; c% O; m8 D) E
  21. / Configure the system clock to 56 MHz /
    . j: F) _% ^" b. K
  22. / USER CODE END Init */5 {7 L. a2 ^9 \

  23. / z) Y6 b/ W; o1 M
  24. /* Configure the system clock */
      l7 p# n, v2 w5 F7 d# S
  25. SystemClock_Config();) Q4 q6 d0 R$ b: P' W3 y, i& F3 y

  26. ! L: }# u( s. p, a$ v
  27. /* USER CODE BEGIN SysInit */
    ( l, T: I# s+ y8 S( `2 i! P
  28. 6 B4 ~5 x9 X" r- R: O% }) }6 ^
  29. /* USER CODE END SysInit */
    / s/ }3 N- @2 K# A- m
  30. - @# L- s1 T2 ]# ~; Y0 Q" H
  31. /* Initialize all configured peripherals /2 ]: O2 K. \( N+ y7 v# O- L) o
  32. MX_GPIO_Init();4 {# ^2 ]! h$ Y6 Q
  33. MX_DMA_Init();
    8 ^! e0 X0 D) o8 R
  34. MX_ADC1_Init();- I' h2 i! y: e( }1 y$ I
  35. MX_USART2_UART_Init();3 @$ T/ L  v0 k0 l1 U* E
  36. MX_IWDG_Init();
    + [# \) n" M3 Y  i2 O% Y
  37. MX_USART1_UART_Init();, T2 H5 a# e: g: w3 D* s& Z
  38. / USER CODE BEGIN 2 */4 c+ j$ I# n! C2 P' r* n! K0 i7 l
  39. LED_Config();& U/ v; o+ `9 f0 |. ^
  40. Lcd_Init();* T- n5 ]/ I/ ?( b
  41. Clear_Screen();
    6 `. ?" B; `) U4 m* {$ D! y
  42. Show_Picture();/开机显示logo/
    / b1 p* B% y' Z9 y
  43. Wireless_Mode_Config();6 W6 ?# {7 X3 K1 A- v8 S

  44. 0 S+ Y# U2 Q; Z0 e2 M' [5 L
  45. Flash_Init();
    ) f+ w; o, j2 n/ K- b6 }
  46. if (HAL_ADCEx_Calibration_Start(&hadc1) != HAL_OK). l+ g6 N$ R3 Z0 v0 `
  47. {3 s( W$ r- k3 U% b$ H& Z( y
  48. /* Calibration Error */
    2 _$ y. b! \& H2 `
  49. while(1);2 s: Y& a( `9 C
  50. }8 d- w& B0 d0 Z
  51. if (HAL_ADC_Start_DMA(&hadc1,(uint32_t )ADC_ConvertedValue,7) != HAL_OK), F+ u6 q# d7 e: w4 G1 r$ d
  52. {5 X) y0 o0 l8 `( D9 J/ L
  53. / ADC conversion start error */' @. e( ~2 Z- w% H
  54. while(1);2 V9 I4 N& C& ?) ]  y9 J
  55. }
    . B! E% R; @* J: ^# h( e7 N, ?
  56. HAL_ADC_Start(&hadc1);$ e9 i: R6 J3 n( p
  57. . f- N& N7 r( {) ^9 e8 r+ x6 S
复制代码
5 F& V5 Z$ `4 @' ^/ G& K
2 y# C# T+ F  ]3 u$ E
收藏 评论0 发布时间:2021-11-10 18:02

举报

0个回答

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版