Hello,
I struggle to use the NHS3100 Demo PCB to raise an interrupt on high level... Besides the setup was configured with the library, it seems to only react to falling edge.
Can you help me ?
Thank you in advance,
Here is an exemple of my code:
#include <stdlib.h>
#include "board.h"
#define BUTTON_PIN 2
#define ALWAYS_HIGH_PIN 6
bool buttonClicked = false;
void PIO0_2_IRQHandler(void)
{
buttonClicked = true;
Chip_SysCon_StartLogic_ClearStatus(SYSCON_STARTSOURCE_PIO0_2);
}
int main(void)
{
// Init
Chip_IOCON_Init(NSS_IOCON);
Chip_GPIO_Init(NSS_GPIO);
Chip_RTC_Init(NSS_RTC);
Chip_EEPROM_Init(NSS_EEPROM);
Chip_IOCON_SetPinConfig(NSS_IOCON, BUTTON_PIN, IOCON_FUNC_0 | IOCON_RMODE_INACT);
Chip_IOCON_SetPinConfig(NSS_IOCON, ALWAYS_HIGH_PIN, IOCON_FUNC_0 | IOCON_RMODE_PULLUP);
Chip_SysCon_StartLogic_SetEnabledMask(SYSCON_STARTSOURCE_PIO0_2 | SYSCON_STARTSOURCE_PIO0_6);
// Init the detection pin
NVIC_EnableIRQ(PIO0_2_IRQn);
Chip_GPIO_SetPinDIRInput(NSS_GPIO, 0, BUTTON_PIN);
Chip_GPIO_SetModeHigh(NSS_GPIO, 0, NSS_GPIOn_PINMASK(BUTTON_PIN));
Chip_GPIO_SetPinModeLevel(NSS_GPIO, 0, NSS_GPIOn_PINMASK(BUTTON_PIN));
while (1)
{
while (!buttonClicked) { }
buttonClicked = false;
}
return 0;
}