STM32单片机简单点灯实验(Delay延时函数)

功能实现:依次点亮单片机上的三色灯,即红灯、绿灯、蓝灯。

工具:实验用到CubeIDE和Cubeprogrammer两个软件,以及STM32L431RCT6单片机。

实现过程:

1.打开CubeIDE,在图示位置根据自己的要求选择合适的芯片型号。

2、依次输入项目的名称,禁止以中文命名,然后在2的位置选择合适的项目路径,在3的位置选择编译语言,在这里我们选择C语言,点击4生成项目。

 3、生成项目文件后,我们可以看到下图这样的界面,由于我已经配置过部分引脚了,所以有的引脚是绿色的。

 4、接下来我们进行芯片的配置,首先配置RCC。依次进行1、2、3的选择,然后我们可以看到4的两个引脚变绿了,说明我们进行了RCC的配置。

5、进行时钟树的配置。选择1,来到时钟树配置的界面,然后2选择HSE,在3的位置输入80,按下回车即可。(3的位置具体输入多少,我们要根据自己所用的芯片来决定,我们可以看到3的下面显示最大频率80MHZ,我们直接输入80就行)

 6、对GPIO进行配置。配置完时钟树后回到这个界面,从原理图可知,PC9控制红灯状态,PC6控制绿灯状态,PB2控制蓝灯状态。接下来对这三个引脚进行配置,在右下角输入引脚名,例如输入PC9,此时可以看到PC9引脚在闪烁,点击PC9,选择GPIO_Output模式,PC6,PB2同理。然后进行3的操作,我们可以看到4的界面,随便点击其中一个,由于从原理图中可以知道三色灯已经连接了一个高电平,所以在5的位置我们选择高电平状态,这样灯的初始状态就是熄灭的,进行6的操作后(另外两个引脚操作同上),按ctrl+s生成代码。

 7、打开main.c文件。CLASS2----->Core------>Src------>main.c 

8、添加代码,找到如下位置添加相应的代码,代码要写在BEGIN--END之间才能保存。

9、编译代码。点击1所示的图标,编译完成后,如果2显示0错误,0警告,说明代码添加正确。

10.烧录代码。烧录完成后我们可以看到单片机上的三色灯进行亮、灭的替换。(通过Cubeprogrammer进行烧录,具体烧录方法不在这里介绍)

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
引用\[1\]和引用\[2\]提供了一种使用中断方式实现延时的方法。在这种方法中,首先需要定义一个全局变量time_delay来表示延时的时间。然后使用SysTick_Config()函数来定义中断的时间段,通过中断中递减time_delay来实现延时。具体的延时函数包括delay_ms()和delay_us(),分别用于延时指定的毫秒数和微秒数。在中断处理函数SysTick_Handler()中,如果time_delay不为0,则将其递减。最后,在延时结束后,需要关闭计数器和清空计数器的值。 所以,如果你想在STM32中实现延时函数delay,你可以使用中断方式来实现。具体的代码可以参考引用\[2\]中的示例代码。 #### 引用[.reference_title] - *1* [STM32延时函数的四种方法](https://blog.csdn.net/huaweibiancheng3/article/details/124956486)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [STM32延时函数种方法](https://blog.csdn.net/u010312937/article/details/103855115)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [STM32延时函数的四种方法:普通延时(2种)、SysTick 定时器延时(2种)](https://blog.csdn.net/weibo1230123/article/details/81136564)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值