• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Прерывания от GPIO в CH582M

sminder

New member
У меня есть МК CH582M и мне нужно использовать прерывания. К сожалению, в моем коде прерывания не заработали. Привожу исходный код:

Код:
#define INT_PIN     GPIO_Pin_18

int main()
{
    SetSysClock(CLK_SOURCE_PLL_80MHz);
    // LED init
    GPIOB_ModeCfg(GPIO_Pin_4, GPIO_ModeOut_PP_20mA);
    GPIOB_SetBits(GPIO_Pin_4);
    // Input GPIO init
    GPIOB_ModeCfg(INT_PIN, GPIO_ModeIN_PU);
    GPIOB_ITModeCfg(INT_PIN, GPIO_ITMode_FallEdge);
    // Interrupt init
    PFIC_ClearPendingIRQ(GPIO_B_IRQn);
    PFIC_EnableIRQ(GPIO_B_IRQn);
    while(1);
}

// Interrupt handler
__INTERRUPT __HIGH_CODE void GPIOB_IRQHandler()
{
    GPIOB_ClearITFlagBit(INT_PIN);
}

Кто-нибудь может подсказать, что не так? В функцию прерывания не заходит, на пине уровень меняется (проверял пулом), основной код работает. Примеров работы с прерываниями от GPIO для данного МК не нашел.
 

pvvx

Активный участник сообщества
> Примеров работы с прерываниями от GPIO для данного МК не нашел.

void HAL_KeyInit(void)
ch583\Application\wristband\firmware\Demo_Firmware\subsys\HAL\KEY.c
 

sminder

New member
> Примеров работы с прерываниями от GPIO для данного МК не нашел.

void HAL_KeyInit(void)
ch583\Application\wristband\firmware\Demo_Firmware\subsys\HAL\KEY.c
У меня в проекте нет такой функции HAL_KeyInit().
Подскажите, откуда этот путь ch583\Application\wristband\firmware\Demo_Firmware\subsys\HAL\KEY.c ?
 

sminder

New member
Я не пользовался такой библиотекой. Я пользуюсь официальной средой разработки MounRiverStudio, там в комплекте свой CSL есть.
 

pvvx

Активный участник сообщества
А это официальные примеры и SDK от WCH, производителя чипов.
А MounRiverStudio - это оболочка от сторонней организации.
 
Сверху Снизу