ATK-MB010模块使用说明
这里以正点原子M48Z-M3最小系统板STM32F103版为例,给大家介绍一下模块和板卡的连接方法。其它板卡与模块的硬件连接方法,请大家在“ATK-MB010 继电器模块\3,程序源码\相应板卡例程文件夹\readme.txt”路径下查看。
继电器模块可通过杜邦线与正点原子M48Z-M3最小系统板STM32F103版进行连接,具体的连接关系,如下表所示:

表1.1继电器模块与M48Z-M3最小系统板STM32F103版连接关系
在本实验中,串口会打印继电器模块的实验信息和继电器闭合情况等信息。需要查看这部分实验信息的用户,可用杜邦线将最小系统板STM32F103的PA9引脚和GND连接至外部的USB转串口设备,这样就可以通过XCOM上位机查看串口打印的信息了。
用户可以通过最小系统板的KEY0按键来控制继电器的闭合或断开,按下按键闭合、再按下按键断开,以此循环。继电器闭合时,NO与COM短接,STA灯亮;继电器断开时,NC与COM短接,STA灯熄灭。
开发板的LED0闪烁,提示程序运行。
打开本实验的工程文件夹,能够在./Drivers/BSP目录下看到ATK_RELAY文件夹,ATK_AIR文件夹中就包含了继电器模块的驱动文件,如下图所示:

图2.1.2.1继电器模块驱动代码
下面简要介绍atk_relay.c中几个重要的API 函数。
1. 函数atk_relay_init ()
该函数用于初始化继电器模块,具体的代码,如下所示:
/**
* @brief 继电器模块初始化函数
* @param 无
* @retval 无
*/
void atk_relay_init(void)
{
GPIO_InitTypeDef gpio_init_struct = {0};
ATK_RELAY_IN_GPIO_CLK_ENABLE(); /* 时钟使能 */
gpio_init_struct.Pin = ATK_RELAY_IN_GPIO_PIN; /* 引脚 */
gpio_init_struct.Mode = GPIO_MODE_OUTPUT_PP; /* 推拉输出 */
gpio_init_struct.Pull = GPIO_NOPULL; /* 无上下拉 */
gpio_init_struct.Speed = GPIO_SPEED_FREQ_LOW; /* 低速 */
HAL_GPIO_Init(ATK_RELAY_IN_GPIO_PORT, &gpio_init_struct); /* 引脚初始化 */
}
atk_relay_init () 函数负责初始化继电器模块的 IN 引脚,并将其配置为无上下拉推挽输出模式。
实验的测试代码在demo.c文件中,该文件在工程根目录下的 User文件夹。测试代码的入口函数为 demo_run(),具体的代码,如下所示:
/**
* @brief 例程演示入口函数
* @param 无
* @retval 无
*/
void demo_run(void)
{
uint8_t time = 0;
uint8_t key = 0;
uint8_t toggle_flag = 0;
key_init();
atk_relay_init(); /* 初始化继电器模块 */
printf("继电器实验\r\n");
printf("请通过KEY0控制继电器\r\n");
while (1)
{
key = key_scan(0); /* 扫描按键 */
if (key == KEY0_PRES)
{
toggle_flag ^= 1;
if (toggle_flag)
{
ATK_RELAY_IN(1);
printf("继电器闭合\r\n");
}
else
{
ATK_RELAY_IN(0);
printf("继电器断开\r\n");
}
}
if (time++ >= 50)
{
LED0_TOGGLE(); /* 闪烁LED,提示系统正在运行 */
time = 0;
}
delay_ms(10);
}
}
我们通过 KEY0 按键控制继电器,按下 KEY0 按键后,给继电器模块 IN 引脚输入高电平,继电器闭合;再次按下 KEY0 按键后,给继电器模块 IN 引脚输入低电平,继电器断开,以此循环。通过串口打印继电器闭合或断开的状态。最后, LED0 闪烁表示程序正常运行。
将继电器模块按照第一节“硬件连接”中介绍的连接方式与开发板连接,并将实验代码编译烧录至开发板中。本实验使用串口输出调试信息,因此需将开发板的 PA9连接至 DAP 虚拟串口(或 USB 转 TTL 模块)的 RX引脚。完成连接后,可通过串口调试助手XCOM查看实验信息输出,如下图所示:

图2.1.3.1 串口调试助手显示内容
注:其它现象请看2.1.1功能说明。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70040860/viewspace-3075578/ ,如需转载,请注明出处,否则将追究法律责任。