|
鉴于各位大佬都熟悉STM32,我只是抛砖引玉LL库的性能也接近寄存器,很有实用价值,所以本贴只是探索LL库用来学习,各位大佬多多交流,大家的进步会更快。 这里就不介绍LL库的背景了,咱们直接上点灯。8 f% T0 H' ?$ R% N( @# G 硬件: STM32F030F4P6$ t& b/ {) ]) X/ u 板载的LED灯接PA4 软件:CubeMX+IAR(V8.20). U8 ?" a0 b& t) [ LL库版本V1.9.06 V# L% }0 C: Q- u7 I& Y! B1 J 6 b+ b1 y4 J5 B2 \ 不多说,CubeMX不会用请看官方PDF,我直接贴图:
以下是主函数,其余的都未改动。 int main(void)0 ~3 z& Y3 i5 V8 u' A/ ] {! M' o$ u( V' ~$ T+ ~$ u ; T, X. q! P7 J6 g$ Z, q /* USER CODE BEGIN 1 */5 z+ J& C( t7 k1 V% U0 w' B5 v /* USER CODE END 1 */( u' i( ^: O% ?; i ! \5 l0 J9 O( l3 ]1 K. I1 E2 i% ?7 b( W /* MCU Configuration----------------------------------------------------------*/ ; F6 B% j' W$ |( l2 e, h /* Reset of all peripherals, Initializes the Flash interface and the Systick. */1 y' l& `9 S- y, ^$ L7 v LL_Init(); /* USER CODE BEGIN Init */# Y0 J( j8 M$ W, i+ K: O# N& e. f2 | 3 }" Y: X$ k- s: b3 n /* USER CODE END Init */ s3 M+ t" @& w5 K7 r /* Configure the system clock */, h( p* ?/ z& F! e% d: X SystemClock_Config();1 p$ N" M, x' v- `" d9 W : I0 j* U- D! N- I) K /* USER CODE BEGIN SysInit */ . P% r- d4 l6 N- \2 @+ w4 H e' ]& s /* USER CODE END SysInit */ /* Initialize all configured peripherals */4 b- Z3 q: I! n6 w MX_GPIO_Init();5 A& N. A, j+ r 3 ^3 |; b7 [1 f) j* d+ X /* USER CODE BEGIN 2 */8 I8 K' G& H, n5 ~ /* USER CODE END 2 */ & P" N+ |' \' f( F, E2 |* b /* Infinite loop */ /* USER CODE BEGIN WHILE */2 B3 q" {8 f& ~4 T6 r while (1) {8 C- G$ T4 `6 O& F1 r+ t /* USER CODE END WHILE */. U: J+ }# D* I* Q! Y* B. s /* USER CODE BEGIN 3 */ LL_mDelay(50); LL_GPIO_TogglePin(LED_GPIO_Port, LED_Pin);6 m- c0 i* z9 O2 i$ y" V! \2 p- m } /* USER CODE END 3 */( O: @! f0 k$ S$ x1 F) C6 l! o } 你以为就这么完了吗-***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************- 并没有 本人发现一个问题:. k0 O4 f) p3 k/ v0 b LL_mDelay(50); a. X0 b+ W" y LL_GPIO_TogglePin(LED_GPIO_Port, LED_Pin);这样是可以翻转的( ]9 @( k& Z5 `) W, ]. u 如果改成 0 |" y: B4 F3 t6 X/ \ LL_GPIO_ResetOutputPin(LED_GPIO_Port, LED_Pin);//输出低电平7 ]$ r5 R$ H" ~$ \5 h LL_mDelay(50); LL_GPIO_SetOutputPin(LED_GPIO_Port, LED_Pin);//输出高电平1 x$ _) W1 C+ j1 K 并未发生翻转现象。 经过一翻摸索改为: LL_mDelay(25);) ~+ z, K# h; |: E" N LL_GPIO_ResetOutputPin(LED_GPIO_Port, LED_Pin);//输出低电平1 E, Y* D2 u7 v, F LL_mDelay(25); LL_GPIO_SetOutputPin(LED_GPIO_Port, LED_Pin);//输出高电平 正常翻转,有没有大佬解释一下,本人不擅长寄存器,我对那些解答一些困惑的大佬表示十分感谢。 看大家对此贴的讨论,再写出操作其它外设的代码。后续出PWM(已完成)的操作。有可能还有L4的帖子。谢谢大家支持我的一帖。 ) & c2 [2 ^$ l- n) `2 X 继续阅读:6 m( \: K' A# K+ U u: ] STM32F0的LL库使用(二)' `6 J* ~; p" _ e0 i STM32F0的LL库使用(三) |
DMA 原理从 0 到 1:为什么它能解放 CPU?一文讲透 DMA 的工作流程
小白也能明白的STM32的低功耗与唤醒机制
STM32系统中2种数据掉电保护的方法
分享STM32F051中文参考手册(重制书签版)
AI工具训练营-用ChatGPT解决HID Keyboard实现的问题
STM32固件库分享,超全系列整理
STM32小白入门指南:从基础到OTA实现方案
STM32超详细学习笔记
新手必看!STM32单片机应该怎么学?
如果你解决了这些问题,就可以直接学STM32
微信公众号
手机版
LL_mDelay(50);
LL_GPIO_SetOutputPin(LED_GPIO_Port, LED_Pin);//输出高电平
这是输出高电平后立马就又改成输出低电平,所以看不出来高电平了,要再加一个延时函数
评分
查看全部评分
正解
谢谢大佬
大佬,客气
这个是低级错误了