1、BC260Y模组GPIO口介绍
移远的BC260Y开放16个可配置为GPIO的引脚,有6个独立的GPIO口,分别是16、26、30、31、32、33,可用于输入和输出控制,管脚分配图:
![](https://img-blog.csdnimg.cn/img_convert/285961fa55314f2bb3a87d90ce17b4f9.png)
2、操作GPIO口步骤
通过移远提供的SDK可以很方便的进行GPIO口的操作,操作步骤分三步:
![](https://img-blog.csdnimg.cn/img_convert/bd9f648666f34af6cad9fee8f29dee66.png)
3、代码演示
用VSCODE打开官方提供的SDK,目录如下:
![](https://img-blog.csdnimg.cn/img_convert/2845427cfb48098d0e0bef896d904130.png)
打开PLAT\project\quec_open\customer\man.c,直接在这个里面编写即可。
我自己做了个板子,上面使用了一个双色LED,分别接到GPIO3和GPIO4,用于演示GPIO输出控制。
代码如下:
void proc_main_task(void)
{
//初始化UART0,用于日志输出
Ql_UART_Open(UART_PORT0,9600,MainRecvCallback);
APP_DEBUG("<------------- QuecOpen: GPIO App Example ----------->\r\n");
//禁止模组休眠
Ql_SleepDisable();
//初始化蓝灯
Ql_GPIO_Init(LED_BLUE,PINDIRECTION_OUT,PINLEVEL_LOW,PINPULLSEL_DISABLE);
//初始化绿灯
Ql_GPIO_Init(LED_GREEN,PINDIRECTION_OUT,PINLEVEL_LOW,PINPULLSEL_DISABLE);
s32 count = 1 ;
while (1)
{
if(count % 2 == 0){
Ql_GPIO_SetLevel(LED_BLUE,PINLEVEL_HIGH);
}
if(count % 3 == 0){
Ql_GPIO_SetLevel(LED_GREEN,PINLEVEL_HIGH);
}
osDelay(1000);
Ql_GPIO_SetLevel(LED_BLUE,PINLEVEL_LOW);
Ql_GPIO_SetLevel(LED_GREEN,PINLEVEL_LOW);
count++ ;
}
}
编译后下载到模组中,运行效果如下:
![](https://img-blog.csdnimg.cn/img_convert/60f569bb8e7fe2b7f9886d6e61d5c670.gif)
图片有点模糊,讲究看下吧,大概就这么个意思,简单几行代码,就可以实现GPIO口的控制,非常方便,可以结合PWM,RTC或者其他做一些应用。
输入状态,结合中断再做介绍