您的位置:首页 > 健康 > 养生 > 网页设计代码成品_请问去哪里学编程比较正规_自己如何制作一个小程序_深圳关键词优化怎么样

网页设计代码成品_请问去哪里学编程比较正规_自己如何制作一个小程序_深圳关键词优化怎么样

2025/1/5 7:17:31 来源:https://blog.csdn.net/qq_36075612/article/details/143452405  浏览:    关键词:网页设计代码成品_请问去哪里学编程比较正规_自己如何制作一个小程序_深圳关键词优化怎么样
网页设计代码成品_请问去哪里学编程比较正规_自己如何制作一个小程序_深圳关键词优化怎么样

概述

         本篇文章介绍如何使用中科蓝汛AB5681,GPIO管脚使用说明。

一、第一种写法

1)、GPIO配置输入模式   

//内部上拉
GPIOBDE  |= BIT(4); //数字IO使能: 0为模拟IO, 1 为数字IO
GPIOBDIR |= BIT(4); //控制IO的方向: 0为输出, 1为输入.
GPIOBFEN &= ~BIT(4);//0:当作通用GPIO使用 //1:当作其它功能性IO
GPIOBPU  |= BIT(4); //10K上拉使能

2)、GPIO配置输出模式

GPIOBDE  |= BIT(4); //数字IO使能: 0为模拟IO, 1 为数字IO
GPIOBDIR &= ~BIT(4); //控制IO的方向: 0为输出, 1为输入.
GPIOBFEN &= ~BIT(4);//0:当作通用GPIO使用 //1:当作其它功能性IO
GPIOBSET |= BIT(4); // 将PB4 引脚设置输出高
GPIOBCLR |= BIT(4); // 将PB4 引脚设置输出低
GPIOBDRV &= ~BIT(4); // 小电流 具体看手册
GPIOBDRV |= BIT(4);  // 大电流 具体看手册 

3)、gpio口定义:

4)、以AB5681为例:(数据手册 AB568X UserManual.pdf)

 二、第二种写法

void gpio_output_h(u8 io_num)
{gpio_t gpio;bsp_gpio_cfg_init(&gpio, io_num);if (gpio.sfr) {gpio.sfr[GPIOxFEN] &= ~BIT(gpio.num);gpio.sfr[GPIOxDE] |= BIT(gpio.num);gpio.sfr[GPIOxDIR] &= ~BIT(gpio.num);gpio.sfr[GPIOxSET] = BIT(gpio.num);//gpio.sfr[GPIOxDRV] &= ~BIT(gpio.num); //小电流gpio.sfr[GPIOxDRV] = BIT(gpio.num); //大电流}
}void gpio_output_l(u8 io_num)
{gpio_t gpio;bsp_gpio_cfg_init(&gpio, io_num);if (gpio.sfr) {gpio.sfr[GPIOxFEN] &= ~BIT(gpio.num);gpio.sfr[GPIOxDE] |= BIT(gpio.num);gpio.sfr[GPIOxDIR] &= ~BIT(gpio.num);gpio.sfr[GPIOxCLR] = BIT(gpio.num);//gpio.sfr[GPIOxDRV] &= ~BIT(gpio.num); //小电流gpio.sfr[GPIOxDRV] = BIT(gpio.num); //大电流}
}void gpio_input(u8 io_num)
{gpio_t gpio;bsp_gpio_cfg_init(&gpio, io_num);if (gpio.sfr) {gpio.sfr[GPIOxFEN] &= ~BIT(gpio.num);gpio.sfr[GPIOxDE] |= BIT(gpio.num);gpio.sfr[GPIOxDIR] &= ~BIT(gpio.num);//gpio.sfr[GPIOxPU] |= BIT(gpio.num);	//内部上拉gpio.sfr[GPIOxPD] |= BIT(gpio.num); //内部下拉}
}

三、调用

gpio_output_h(IO_PB4);    //输出高电平
gpio_output_l(IO_PB4);    //输出低电平
gpio_input(IO_PB4);       //输入

四、总结 

        好了,介绍完毕希望能帮助到需要的人。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com