OUTPUT,INPUT,INPUT_PULLUP三种模式的区别

arduino的引脚一般有三种模式:

INPUT:输入模式

OUTPUT:输出模式

INPUT_PULLUP:输入上拉模式


uno板自带上拉电阻:如果需要使用上拉电阻,则需要在代码配置阶段使用pinMode(在上拉电阻所连接的导线上,如果外部组件未启用,上拉电阻将“微弱地”将输入电压信号“拉高”。当外部组件

未连接时,对输入端来说,外部“看上去”就是高阻抗的。这时,通过上拉电阻可以将输入端口处的电压拉高到高电平。如果外部组件启用,它将取消上拉电阻所设置的高电平。通过这样,上拉电阻可以使引脚即使在未连接外部组件的时候也能保持确定的逻辑电平。
n,INPUT_PULLUP)设置上拉电阻,起到抬高电位的作用。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
这段代码是一个使用Bouffalo Lab(BFLB)芯片的GPIO控制示例程序,主要实现了GPIO输出和输入的控制。 注释如下: ```c #include "bflb_gpio.h" // 引入Bouffalo Lab GPIO库 struct bflb_device_s *gpio; // 定义指向GPIO设备结构体的指针 extern void board_init(void); // 声明板级初始化函数board_init() int main(void) { board_init(); // 调用板级初始化函数 gpio = bflb_device_get_by_name("gpio"); // 获取GPIO设备句柄 printf("gpio output\r\n"); // 打印输出提示信息 // 初始化GPIO32为输出模式,带上拉、SMT使能和0号驱动能力 bflb_gpio_init(gpio, GPIO_PIN_32, GPIO_OUTPUT | GPIO_PULLUP | GPIO_SMT_EN | GPIO_DRV_0); // 初始化GPIO24为输入模式,带上拉、SMT使能和0号驱动能力 bflb_gpio_init(gpio, GPIO_PIN_24, GPIO_INPUT | GPIO_PULLUP | GPIO_SMT_EN | GPIO_DRV_0); while (1) { // GPIO32输出高电平 bflb_gpio_set(gpio, GPIO_PIN_32); // 读取GPIO24的电平状态,并打印输出 printf("%x\r\n", bflb_gpio_read(gpio, GPIO_PIN_24)); // 延时2秒 bflb_mtimer_delay_ms(2000); // GPIO32输出低电平 bflb_gpio_reset(gpio, GPIO_PIN_32); // 读取GPIO24的电平状态,并打印输出 printf("%x\r\n", bflb_gpio_read(gpio, GPIO_PIN_24)); // 延时2秒 bflb_mtimer_delay_ms(2000); } } ``` 此代码中,主要用到了BFLB的GPIO库函数,如 `bflb_gpio_init()`、`bflb_gpio_set()`、`bflb_gpio_reset()`、`bflb_gpio_read()` 等,用于GPIO的初始化、输出、输入和读取操作。其中 `GPIO_PIN_32` 和 `GPIO_PIN_24` 分别表示GPIO的引脚编号,这里表示控制的是芯片上的GPIO32和GPIO24引脚。另外,代码中还用到了定时器库函数 `bflb_mtimer_delay_ms()`,用于实现延时功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值