找回密码
 注册
查看: 190|回复: 3
打印 上一主题 下一主题

实现LED的控制功能

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-8-12 10:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
开发板上能直接提供给用户使用的就是按键和LED。那我就先来实现LED的控制功能,也就是GPIO的输入输出功能。
! F* \4 v6 I! t, l8 g一,首先了解硬件接口
9 }/ l9 F  p& n; W  ?: ]9 o5 }( P6 p( y) x5 ]8 ?+ N! v% s+ ?
      三个LED可以供控制,分别使用GPIO为PB8,PB9,PB10。
; t8 {5 F3 a/ i: ^# Z9 A( _3 a# U8 Y: H+ T* ?
二,通过gd32F3x0_Firmware_Library_V1.0.0库文件新建工程project。3 h9 ~% W. v' {. x/ `. x& u7 Z
, o+ K2 S( W4 a/ k8 t" _
本来是想移植freeRtos的,但是RAM太小,还是放弃了。接下来实现软件功能。
$ H& e' P7 m% Z; I" Y9 o1,时钟
4 |5 a" p5 P; @) n$ }  Y1 V! _- [初始化时钟,开发板上没有焊接外部时钟,这里只能使用内部时钟了。
4 |& I$ B# l  L7 M/ K6 v; n6 E时钟控制单元提供了一系列频率和时钟功能, 包括一个内部 8M RC 振荡器时钟 (IRC8M) 、 一个内部 48M RC 振荡器时钟 (IRC48M) 、 一个内部 28M RC 振荡器时钟 (IRC28M) 、 一个外部高速晶体振荡器时钟 (HXTAL) 、 一个内部低速 RC 振荡器时钟 (IRC40K) 、 一个外部低速晶体振荡器时钟 (LXTAL) 、 一个锁相环 (PLL) 、 一个 HXTAL 时钟监视器、 时钟预分频器、 时钟多路复用器和时钟选通电路。0 s0 L$ o1 s9 o6 i/ x
AHB 、 APB 和 Cortex™ -M4 时钟都源自系统时钟 (CK_SYS) , 系统时钟的时钟源为 IRC8M 、 HXTAL 或 PLL 。系统时钟的最大运行时钟频率可以达到 108MHz 。独立看门狗定时器定时器有独立的时钟源( IRC40K ), 实时时钟 (RTC) 使用 IRC40K 、 LXTAL 或 HXTAL/32 作为时钟源 。7 r% D" w  c% B* l
( ~( M; g, v, n- f
预分频器可以配置 AHB 、 APB2 和 APB1 域的时钟频率。 AHB 、 APB2 和 APB1 域的最高时钟频率分别为 108MHz 、 54MHz 和 54MHz 。 RCU 通过 AHB 时钟 (HCLK)8 分频后作为 Cortex 系统定时器 (Systick) 的外部时钟。通过对 SysTick 控制与状态寄存器的设置,可选择上述时钟或 Cortex(HCLK) 时钟作为 SysTick 时钟 。
6 }( j. h0 r% O& j系统复位后, IRC8M 时钟被选为系统时钟, 改变时钟配置寄存器 RCU_CFG0 中的系统时钟变换位 SCS 可以切换系统时钟源为 HXTAL 或 PLL 。当 SCS 的值改变, 系统时钟将使用原来的时钟源继续运行直到转换的目标时钟源稳定。 当一个时钟源被直接或通过 PLL 间接作为系统时钟时,它将不能被停止。
+ J  ?0 p! S* ~- Q' p4 X上文明显说复位后 IRC8M 时钟被选为系统时钟,但是在没有对时钟进行初始化时,打印出来的时钟就是108Mhz,太胡扯了。
  Q/ q/ a# Z; v) r8 v通过重定向串口输出3 M! H  R1 u. J2 E! ]: N# C' d
1 O, Q9 R3 b+ Y
可以通过开发的USB输出printf打印信息。
8 H% |" I: T; {4 b% R. m2,设置系统滴答时钟: u( o$ T7 ?2 A/ c4 P
$ d7 \- C: y- X' F. u3 t
定义1ms中断。6 p3 T& z  S: f9 |7 Z1 a

/ s: ]7 o  U: i8 h. f5 b中断处理函数,1s闪烁一次。& N, @7 E2 t+ X6 V: P) R6 Q+ S6 B
3,编译下载
( ?4 v8 V8 O( y: x/ n仿真器选择8 o+ ^, `5 B& K. n9 C+ P$ u
: L# `1 J$ S8 V# u- s4 k1 [( ~
直接download下载后程序运行部起来。通过仿真调试模式,点击三次运行按钮,程序正常运行。我初始化时钟也是这样,还未查明原因。

该用户从未签到

2#
发表于 2022-8-12 11:22 | 只看该作者
感谢提供,支持支持。学习学习

该用户从未签到

3#
发表于 2022-8-12 14:40 | 只看该作者
好辛苦了我学习看看

该用户从未签到

4#
发表于 2022-8-12 16:34 | 只看该作者
非常感谢!!!学习学习
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-6-1 20:10 , Processed in 0.078125 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表