打开主菜单

谷雨文档中心 β

更改

NBDK-L4:基础实验教程

大小无更改2019年1月18日 (五) 13:33
main.c
}
}
</syntaxhighlight>在按键的处理回调函数中,我们可以看下,按键S1(UP)按下后,设置马达引脚高电平,按键S3(DOWN)按下后,设置马达引脚低电平在按键的处理回调函数中,我们可以看到,按键S1(UP)按下后,设置马达引脚高电平,按键S3(DOWN)按下后,设置马达引脚低电平<syntaxhighlight lang="c" line="1" start="69">
void AppKey_cb(uint8_t key)
{
接下来是初始化按键,有关按键的部分会在04-按键实验中给大家讲解。
这边我们主要关注的是马达的初始化,其实是和LED实验一样的,就是初始化一下马达控制IO。最后我们初始化蜂鸣器引脚,配置蜂鸣器引脚为默认输出低电平。
<syntaxhighlight lang="c++" line="1" start="36">
// 初始化按键引脚
MX_KEY_Init();
//注册按钮回调函数
KEY_RegisterCb(AppKey_cb);
// 初始化马达初始化蜂鸣器 Motor_Init Buzzer_Init();
//
}
}
</syntaxhighlight>在按键的处理回调函数中,我们可以看下,按键S1(UP)按下后,设置马达引脚高电平,按键S3(DOWN)按下后,设置马达引脚低电平在按键的处理回调函数中,我们可以看到,按键S1(UP)按下后,设置蜂鸣器引脚高电平,按键S3(DOWN)按下后,设置蜂鸣器引脚低电平<syntaxhighlight lang="c" line="1" start="69">
void AppKey_cb(uint8_t key)
{
</syntaxhighlight>
==== gyu_motorgyu_buzzer.c ====马达引脚初始化函数,初始化PC7推挽输出低电平。蜂鸣器引脚初始化函数,初始化PB2推挽输出低电平。<syntaxhighlight lang="c++" line="1" start="31">void Motor_InitBuzzer_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure; // 定义引脚参数结构体
__HAL_RCC_GPIOC_CLK_ENABLE__HAL_RCC_GPIOB_CLK_ENABLE(); // 使能GPIOC时钟使能GPIOB时钟
GPIO_InitStructure.Pin= GPIO_PIN_7GPIO_PIN_2; // 引脚编号为7引脚编号为2
GPIO_InitStructure.Mode = GPIO_MODE_OUTPUT_PP; // 推挽输出
GPIO_InitStructure.Speed = GPIO_SPEED_FREQ_LOW; // 低频率
GPIO_InitStructure.Pull = GPIO_PULLUP; // 上拉
HAL_GPIO_Init(GPIOCGPIOB, &GPIO_InitStructure); // 初始化PC7初始化PB2
HAL_GPIO_WritePin(GPIOCGPIOB, GPIO_PIN_7GPIO_PIN_2, GPIO_PIN_RESET); // 设置PC7默认输出低电平设置PB2默认输出低电平
}
</syntaxhighlight>马达引脚电平设置函数,设置为高电平,马达起振,设置低电平,马达停止。蜂鸣器引脚电平设置函数,设置为高电平,蜂鸣器发出蜂鸣声,设置低电平,蜂鸣器停止。<syntaxhighlight lang="c" line="1" start="54">void Motor_SETBuzzer_SET(GPIO_PinState pinSate)
{
HAL_GPIO_WritePin(GPIOCGPIOB, GPIO_PIN_7GPIO_PIN_2, pinSate); // 设置PC7输出设置PB2输出
}
 
</syntaxhighlight>
[[分类:NB-IOT]]
[[分类:NBDK-L4]]
[[分类:教程]]
510
个编辑