先是HAL大致驱动模块部件
MAIN函数运行流程 { HAL_Init(); SystemClock_Config();. f* Y2 x7 a2 v+ p+ w' o, g 6 l& G7 O/ y9 p! t" q 4 G# B6 V; [ [ /* Configures User push-button */: n6 u+ z) Q; }5 j3 J. D BSP_PB_Init(BUTTON_USER, BUTTON_MODE_EXTI); /*##-1- Configure the DAC peripheral #######################################*/ DacHandle.Instance = DACx; /*##-2- Configure the TIM peripheral #######################################*// f* h4 j0 H5 {6 d7 F) D h2 j TIM6_Config();& M u, D2 u5 d( o7 G# G ' q7 g& n* e* u /* Infinite loop */ while (1)5 l# F% T, G. H {1 A5 Z' h! B, l6 S- o /* If the Key is pressed */ if (ubKeyPressed != RESET)( v' S7 v1 w5 ? {" ^7 i+ `) Q6 m4 o HAL_DAC_DeInit(&DacHandle);4 q' Q4 k4 m( a, n" ` /* select waves forms according to the User push-button status */$ f/ l5 x: a j" I) R, h8 X if (ubSelectedWavesForm == 1)- _) [7 |" ~8 ~% T( F- R {接下来就是三角波产生的函数,2 j0 i/ {! M- S5 \9 ] /* The triangle wave has been selected */ ) h( j6 S8 _; b, X0 p0 a h /* Triangle Wave generator -------------------------------------------*/6 Q& [$ P% Z. s) G+ Q: Q DAC_Ch1_TriangleConfig(); }产生三角波 else {产生阶梯波形% a. Q5 }2 O) k3 _4 Y! I /* The escalator wave has been selected */ /* Escalator Wave generator -------------------------------------------*/ DAC_Ch1_EscalatorConfig(); }8 T: k! f: s; p" h* { " X& M# K0 ]' A0 W+ n3 h+ F) ]! b ubKeyPressed = RESET; }* T }" T" ^& s. G% g } } ! _0 N* O! ^$ V 8 Q( ?( f, F# C# a5 i- x; S : ?: {/ j8 V- t6 _* w6 B, _' u 首先说说STM32的DAC模块配置过程。
梯形波需要设一个数组。
触发源可能的列表; T6 [$ ^% h- i
好像不够了" D# n9 X' d4 S1 |! m3 O ; s6 t( S1 E5 Y* C6 G, C1 Z9 L2 ? |
| 多谢分享,赞~! |
多谢分享 |
| 感谢分享! |
| 学习了,不错。 |
| O(∩_∩)O谢谢大家支持 |
学习了,多谢楼主分享 |
| 学习了,HAL |
微信公众号
手机版