今天的状态可以,了解了两个实验:蜂鸣器实验和按键输入实验,然后又了解了NVIC中断优先级管理,由于昨天讲的GPIO难以消化,自己今天上网查资料学习IO口。
一.蜂鸣器实验
实验步骤:1.硬件连接:不用STM32的IO直接驱动蜂鸣器,而是通过三极管扩流后再驱动蜂鸣器。 2.软件设计:使能IO口时钟,同时初始化IO模式,使其为推挽输出,最后操作IO口,输出高低电平,最后的现象是DS0亮的时候蜂鸣器不叫,而DS0灭的时候,蜂鸣器叫。
二.按键输入实验(库函数)
GPIO输入操作:调用库函数读取IO口输入电平、操作寄存器读取IO口输入电平和使用位带操作读取IO口输入电平。
实验步骤:1.硬件连接:KEY0、KEY1和KEY2是低电平有效的而WK_UP是高电平有效的。 2.软件设计:使能按键对应IO口时钟,同时初始化IO口模式为上拉或下拉输入,最后扫描IO口电平(库函数/寄存器/位操作)。了解C语言:static用法。
三.NVIC中断优先级管理
1.NVIC中断优先级分组:对STM32中断分0~4组,每个中断设置一个抢占优先级和一个响应优先级。高抢占优先级可以打断低抢占优先级,抢占优先级相同时,高响应优先级先执行。整个系统执行过程中,只设置一次中断分组。
2.中断优先级设置:由中断优先级控制的寄存器组设置抢占和响应优先级,不同的中断控制寄存器组有不同的作用。
总结:今天的收获还是很多的,通过了解蜂鸣器实验和按键输入实验,进一步了解STM32F1的IO口作为输出口使用的方法,然后又了解了NVIC中断优先级的管理,希望自己再接再厉。