我们话不多说,直接开始
首先打开cubemx,创建工程如下
选择我们stm32芯片类型,我们选的是c8t6
首先我们需开启时钟,
我们开始对引脚进行修改,对PA4,PA5,PA6
点击GPIO_Output,分别对其他引脚进行修改如下图PA4,PA5.PA6
选择外部中断的引脚,选择PA0
然后编写外部中断的模式
然后开启外部中断,到此,程序配置得差不多了
输入工程名称,选择编写环境用kiel5,就跟着我选
根据上图的教程,就能完成工程的创建配置,接下来
我们需要编写程序
我们需要编写中断回调函数,在main函数外面
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
{
if(GPIO_Pin&GPIO_PIN_0)
{
}
}
在这个函数中写入我们想通过pA0外部中断后执行的内容
下面 我们需要编写流水灯的函数
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_4,GPIO_PIN_SET);
HAL_Delay(1000);
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_4,GPIO_PIN_RESET);
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_5,GPIO_PIN_SET);
HAL_Delay(1000);
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_5,GPIO_PIN_RESET);
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_6,GPIO_PIN_SET);
HAL_Delay(1000);
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_6,GPIO_PIN_RESET);
上面就是控制流水灯亮灭的内容,我们可以先在编写在mian函数中,直接执行,就能实现流水灯,可以在外部中断回调函数中,添加一个标记值,如果进入中断回调函数标记值边为1,用一个if语句控制来控制流水灯、
如果遇到什么问题直接私信我,如果这篇文章对你有用,请点个赞吧!!!!