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

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

[复制链接]
STMCU小助手 发布时间:2021-11-10 18:02
最近使用STM32G030来做项目,使用的过程发现有太多的坑了,折腾自己快要崩溃,主要问题还是初始化的过程中初始化失败,导致程序不运行。7 h& D1 l; R9 {- ~" j% s

" |% P5 `, L$ v现在总结下遇到的问题:* R- b& N# w8 x; z
1.ADC使用多通道扫描模式用DMA传输数据,HAL_ADC_Start(&hadc1);这个开始必须要放在DMA初始化相关函数的后面。
/ I: [  S; A. ^  y$ U2.开启串口中断后导致程序异常不运行,最后把开启传偶中断函数放在main函数的最前面就可以正常运行
' N8 y0 ?; i$ i- g. N  ?% i3 W3.程序是按顺序上之下运行,初始化时候要考虑好顺序关系。
1 z& X; \1 [4 V! A  R' p# U
; r' S% q3 Y/ B比如按下面的顺序进行初始化才可以正常的运行
; t5 O4 {* H5 e: U- u" F9 h
  1. /* USER CODE BEGIN 1 /  j/ x$ D2 }& s& Y2 E8 l
  2. / STM32G0xx HAL library initialization:' O) R' M" f( L" E5 f
  3. - Configure the Flash prefetch/ i& u# ^  P7 F; K; P: v9 c
  4. - Systick timer is configured by default as source of time base, but user9 e  I# I! u4 B$ B/ s, ?, ^5 c
  5. can eventually implement his proper time base source (a general purpose
    : N/ M) Y1 s" [3 o2 e4 y0 I
  6. timer for example or other time source), keeping in mind that Time base: ]5 C- q" U: N# z2 z# i) D
  7. duration should be kept 1ms since PPP_TIMEOUT_VALUEs are defined and
    ' a( T6 G/ g& N/ B% b; g2 J
  8. handled in milliseconds basis.+ T+ k3 h$ d4 Z7 e
  9. - Low Level Initialization
    5 S7 Y8 c) O. v1 w0 k
  10. */
    1 k- n% O5 }2 h8 B( G/ m( T7 A  z0 {
  11. : f3 C3 ~2 Z; [* z9 E' V" Z' n/ c
  12. /* USER CODE END 1 */
    + _2 n& Y- L% w  j
  13. 1 I  K! k* h0 `+ e) e2 \) k- W' `
  14. /* MCU Configuration--------------------------------------------------------*/# y( k% a. K* J5 m1 a

  15. , N0 A1 o! \9 s( Y5 A, ?: w9 }
  16. /* Reset of all peripherals, Initializes the Flash interface and the Systick. */: K0 R  |; _7 x+ U, k; [  G% x
  17. HAL_Init();
    - Y7 I* W) E5 G& c2 O
  18. Enable_IT_Uart_Fun();8 b6 Z" Z" _, O
  19. 6 H% }! P6 g# j' o! |! `1 H
  20. /* USER CODE BEGIN Init /
    9 b6 m/ \* t$ z- }6 B% c
  21. / Configure the system clock to 56 MHz /
    8 C+ U& z* a' Y# h( ?& a- E; ?0 q& h
  22. / USER CODE END Init */- c9 P! D0 L" J' c5 k/ E9 e6 y$ ~! ^

  23. ' q2 P1 s  }4 j# G# V+ T
  24. /* Configure the system clock */0 q/ i: r" s) z: J) D
  25. SystemClock_Config();2 F; ~$ d6 N. M6 a% h# J  B- I

  26. 2 S7 d4 _7 Q& m; P& G2 S8 g0 X/ W
  27. /* USER CODE BEGIN SysInit */
    2 b" L/ l$ d2 {; ]
  28. - M9 Y4 M7 \+ X7 ^  a
  29. /* USER CODE END SysInit */
    1 D' D. }+ U# j+ w- x4 ^
  30. + S4 b0 _% m1 X! I
  31. /* Initialize all configured peripherals /' k/ ]) [$ i1 o
  32. MX_GPIO_Init();% d% h# ]5 _# ]' w9 p: V
  33. MX_DMA_Init();
    ) ~" v5 M8 H, g; |2 S" w+ t& N
  34. MX_ADC1_Init();
    7 s; `+ t$ c8 x( M9 T
  35. MX_USART2_UART_Init();
    5 A3 @, W) i0 Q6 B1 |
  36. MX_IWDG_Init();" J) x" G5 s/ y2 ^7 G
  37. MX_USART1_UART_Init();% J$ k+ h: L: u( m+ ~6 |
  38. / USER CODE BEGIN 2 */! ?' l2 v/ H  i7 c# X& Z+ ?0 ]
  39. LED_Config();# ?& `+ n1 f, |1 d' r
  40. Lcd_Init();, g; z; {, h1 p$ f% Z
  41. Clear_Screen();
    9 V- Z. o" }5 L+ K* S
  42. Show_Picture();/开机显示logo/
    ) _" S2 e$ G( W1 b" l0 G5 }
  43. Wireless_Mode_Config();
    ' p: {: R% G+ t  }, W+ y
  44. * m$ H2 E6 P* G, \. O2 K; h
  45. Flash_Init();# H$ e; w# d8 q) w
  46. if (HAL_ADCEx_Calibration_Start(&hadc1) != HAL_OK)# k, z& {0 j4 K0 q! q, s9 |
  47. {. |0 y  O# L$ G9 Q) M$ n8 C
  48. /* Calibration Error */
    " X9 n3 p4 X0 g$ p  w3 ?
  49. while(1);' ]" ~9 d% t$ @4 Q& D
  50. }1 z" R/ @( t; t% H, f2 r
  51. if (HAL_ADC_Start_DMA(&hadc1,(uint32_t )ADC_ConvertedValue,7) != HAL_OK)9 V; ~) C' k0 k& z6 b
  52. {
    ) H6 Z. E# Q% G1 {( O
  53. / ADC conversion start error */+ M& |7 z/ O8 l, Y1 A, e0 N+ Y
  54. while(1);7 B: K1 Q1 L3 c0 i- J- n
  55. }1 i+ Y& A+ M+ {! J
  56. HAL_ADC_Start(&hadc1);
    ) P/ u7 T6 E( H- A9 E

  57. & }/ b, x3 i5 ~  i/ m' E
复制代码

! @" c! {8 ?& c" A
1 |5 a- J; |# w1 r2 c: V: r, [* L* p
收藏 评论0 发布时间:2021-11-10 18:02

举报

0个回答

所属标签

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