正点原子stm32第16-17,24讲知识总结

蜂鸣器实验

1.蜂鸣器硬件连接

        蜂鸣器的驱动与LED灯的驱动存在不同,LED灯可以直接用IO口进行驱动但蜂鸣器因驱动电流过大,不适宜用电流直接驱动,因此使用三极管的电流放大效应,实现用小电流驱动蜂鸣器。

 驱动信号作用在芯片的PB8口上,其中的R33电阻作用在于过滤干扰电流确保蜂鸣器不会意外发声。

2.蜂鸣器实验代码参考

beep头文件

beep源文件

调用stm32f10x.h是为了调用RCC时钟函数,同时不同的IO口调用的时钟使能函数不同

主函数

led.h头文件与之前的相同,delay与sys的头文件直接引用即可

按键输入实验

1.硬件连接

2.实验代码展示

头文件:

源文件:

其中的key_scan用于检验三个按钮是否按下,再根据模式判断连续按下是否有用,0则是连续按下无效,需要松开下次按才会响应。1则是连续按,连续返回键值

KEY1与KEY0按下时端口信号为0;WK_UP按下时端口信号为一。

 主函数

 

NVIC优先级管理

STM32有84个中断,16个内核中断,68个可屏蔽中断,16个可编程的中断优先级。

NVIC中断优先级分组:

 

 中断分为0~4组,同时对每个中断设置一个抢占优先级与响应优先级

AIRCR[108]

IP bit[74]分配情况

分配结果

0

111

04

0位抢占优先级,4位响应优先级

1

110

13

1位抢占优先级,3位响应优先级

2

101

22

2位抢占优先级,2位响应优先级

3

100

31

3位抢占优先级,1位响应优先级

4

011

40

4位抢占优先级,0位响应优先级

 抢占优先级与响应优先级区别:

1.高抢占优先级可以打断低抢占优先级(优先级越小越高)

2.相同抢占优先级,高响应优先级不可以打断低响应优先级,但二者同时发生时,高响应先执行

3.当两个抢占优先级与响应优先级均相同时,哪个先发生哪个先执行

NVIC中断优先级设置:

中断优先级分组函数:

中断设置相关寄存器

相关函数在core_cm3.h中

 如何为每个中断设置优先级呢?

使用NVIC_Init函数即可

 中断优先级的设置步骤:

1.设置中断优先级分组(在整个系统中只执行一次)

2.设置每个中断的抢占和响应优先级

3.是否需要挂起或解挂

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
正点原子STM32 ST-Link是一款常用的STM32开发板,它内置了ST-Link调试器和下载器。下面是一般的配置步骤: 1. 连接硬件:将正点原子STM32 ST-Link开发板通过USB线连接到电脑。 2. 安装驱动程序:打开正点原子官网,下载并安装最新版本的ST-Link驱动程序。根据操作系统的不同,选择相应的驱动程序进行安装。 3. 配置开发环境:根据你所使用的开发环境,进行相应的配置。 - 如果你使用的是Keil MDK开发环境,打开Keil软件,选择 "Options for Target"(或者 "Options")-> "Debug",在 "Use" 或者 "Settings" 选项中选择 "ST-Link Debugger",然后点击 "Settings" 按钮进行进一步配置。 - 如果你使用的是STM32CubeIDE开发环境,打开STM32CubeIDE软件,选择 "Run" -> "Debug Configurations",在 "Debugger" 选项中选择 "ST-Link (OpenOCD)",然后点击 "Edit" 按钮进行进一步配置。 4. 配置调试器:在调试器配置界面中,可以设置调试器的连接方式、目标芯片型号等。确保设置正确并点击应用/确认保存设置。 5. 连接目标芯片:将你要调试的STM32芯片连接到正点原子STM32 ST-Link开发板上,可以使用杜邦线或者其他连接方式。 6. 开始调试:配置完成后,可以点击调试按钮开始调试你的STM32项目。调试器会与目标芯片进行通信,你可以在开发环境中进行单步调试、查看变量值等操作。 请注意,以上步骤是一般的配置流程,具体的步骤可能会因开发环境或版本的不同而有所差异。在进行配置时,可以参考相应的开发环境文档或官方指南,以确保正确配置和使用正点原子STM32 ST-Link。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值