首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >读取Pin上的输入(Teensy)

读取Pin上的输入(Teensy)
EN

Stack Overflow用户
提问于 2014-10-28 08:47:11
回答 1查看 866关注 0票数 0

我开始尝试使用Teensy 2,同时也在学习C代码。目前,我正在尝试弄清楚如何将引脚设置为输入。我的代码如下:

代码语言:javascript
复制
#include <avr/io.h>
#include <avr/pgmspace.h>
#include "usb_debug_only.h"
#include "print.h"
#include <util/delay.h>

#define RED_LED_ON  (PORTB |= (1<<7))
#define RED_LED_OFF  (PORTB &= ~(1<<7))

#define GREEN_LED_ON  (PORTD |= (1<<2))
#define GREEN_LED_OFF  (PORTD &= ~(1<<2))

#define BLUE_LED_ON  (PORTC |= (1<<7))
#define BLUE_LED_OFF  (PORTC &= ~(1<<7))

#define SWITCH_OUT_CONFIG (DDRD |= (1<<6), PORTD |= (1<<6))

#define SWITCH_IN_CONFIG (DDRF &= ~(1<<1), PORTF |= (1<<1))

#define LED_CONFIG  (DDRB |= (1<<0))
#define CPU_PRESCALE(n) (CLKPR = 0x80, CLKPR = (n))

#define MY_DELAY 100

int main(void) {
    // set for 16 MHz clock, and make sure the LED is off
    CPU_PRESCALE(0);
    LED_CONFIG;
    /*SWITCH_IN_CONFIG;
    SWITCH_OUT_CONFIG;*/

    DDRD |= (1<<6); //Set pin D6 as output
    DDRF &= ~(1<<1); //Set pin F1 as input

    PORTD |= (1<<6); //Set pin D6 output to high
    PORTF |= (1<<1); //Set pin F1 to act as pullup resistor

    RED_LED_OFF;
    GREEN_LED_OFF;
    BLUE_LED_OFF;

    // initialize the USB, but don't want for the host to
    // configure.  The first several messages sent will be
    // lost because the PC hasn't configured the USB yet,
    // but we care more about blinking than debug messages!
    usb_init();

    for(;;) {
        if(PINF & (1<<1)) {
            /*Do stuff here, since button is pushed*/
    }
    else {
        /*Do nothing*/
    }
}

}

我目前遇到的问题是我的输入put (F1)没有完成电路。我把它连接到一个按钮上。当我按下按钮直接接地时,电路就完成了,当我按下按钮时,它所连接的LED将亮起。当我将连接切换到此引脚时,它什么也不起作用。据我目前所知(这似乎是不正确的),当连接到另一个输出高电平信号的引脚(在这种情况下是D6,我知道它正在工作,因为当它连接到地时,我可以在按钮电路中使用它)时,这个引脚应该是高电平。相反,在它所连接的寄存器中,这个管脚的值似乎总是'1‘( if else语句的"do stuff“部分总是在运行)。

如果你能帮我解决我的错误,我将不胜感激!

EN

回答 1

Stack Overflow用户

发布于 2014-10-28 11:43:34

您将讨论并配置端口F上的输入,但您将从PINB寄存器中读取端口B。

大概,您应该阅读PINF

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26599196

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档