LPC1347 VIL and VIH

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

LPC1347 VIL and VIH

跳至解决方案
1,539 次查看
mateuszkiełbasa
Contributor III

Hi!,

I am a newbie and I am trying to understand Voltage Input Low (VIL) and Voltage Input High (VIH). I am using LPC1347 board. As the documentation says (http://www.nxp.com/docs/en/data-sheet/LPC1315_16_17_45_46_47.pdf ) the VIL equals 0.3VDD and VIH equals 0.7VDD. VDD equals 3.3V (The multimetr shows 3.22V), thus the VIL should be 0.966V and VIH 2.254V (approximately). I created simple program to check it out. The program switch on the board LED when PIN8 is HIGH. I also connected a potentiometer to change voltage on PIN8 dynamically and a multimeter to check current voltage. This program works, but... The LED turns on when voltage on PIN8 is about 1.6V. Lower voltage turns off the LED. So how to understand it?

When voltage is between VIL ans VIH it is floating. It may bounce arbitrarily between HIGH and LOW. So it is the reason that the PIN8 is still HIGH?

I will be greatfull for any answer!

Have a nice day!

int main(void) {

#if defined (__USE_LPCOPEN)
   // Read clock settings and update SystemCoreClock variable
   SystemCoreClockUpdate();
#if !defined(NO_BOARD_LIB)
   // Set up and initialize all required blocks and
   // functions related to the board hardware
   Board_Init();
   // Set the LED to the state of "On"
   Board_LED_Set(0, true);
#endif
#endif

   LPC_GPIO_PORT->DIR[0] &= ~(1 << 8);
   LPC_IOCON->PIO0[8] = IOCON_FUNC0 | IOCON_MODE_PULLDOWN;

   while (1) {
      if (LPC_GPIO_PORT->B[0][8] == 1) {
         LPC_GPIO_PORT->B[0][7] = 1;
      } else {
         LPC_GPIO_PORT->B[0][7] = 0;
      }
   }

   return 0 ;
   }

标签 (1)
标记 (1)
0 项奖励
回复
1 解答
1,323 次查看
kerryzhou
NXP TechSupport
NXP TechSupport

Hi Mateusz,

    Actually, even 1.6V can light the LED, but if you want to get the stable high state, you still make sure, the input voltage is higher than 0.7Vdd, the same to Low-level input voltage, if you want to get the stable low input voltage, you should make sure input voltage is smaller than 0.3Vdd. The other voltage may work, but it is not stable.

Wish it helps you!

If you still have question about  it, please let me know!


Have a great day,
Kerry

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

在原帖中查看解决方案

2 回复数
1,324 次查看
kerryzhou
NXP TechSupport
NXP TechSupport

Hi Mateusz,

    Actually, even 1.6V can light the LED, but if you want to get the stable high state, you still make sure, the input voltage is higher than 0.7Vdd, the same to Low-level input voltage, if you want to get the stable low input voltage, you should make sure input voltage is smaller than 0.3Vdd. The other voltage may work, but it is not stable.

Wish it helps you!

If you still have question about  it, please let me know!


Have a great day,
Kerry

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

1,323 次查看
kerryzhou
NXP TechSupport
NXP TechSupport

Hi Mateusz,

  You are welcome!

  If your problem is solved, please mark the correct answer to close this question.

   Thank you and have a nice day!


Have a great day,
Kerry

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 项奖励
回复