изменила название дефайна про кол-во прерываний. В wiring_private.h подтягиваю дефайн из pins_arduino

This commit is contained in:
klassents committed 2024-12-20 11:43:19 +07:00
1 parent 65d07edece
commit a8b2cf3b0c
7 files changed
+40 -38

No files matched your search

+2 -1
View File
@@ -158,7 +158,8 @@ static const uint8_t SCL = PIN_WIRE_SCL;
#define WIRE_FREQ_1000K 1000000
// interrupts
extern uint8_t interruptInfo[EXTERNAL_NUM_INTERRUPTS][3];
#define EXTERNAL_INTERRUPTS_QTY 7
extern uint8_t interruptInfo[EXTERNAL_INTERRUPTS_QTY][3];
// determines the board pin number by interrupt number
#define interruptToDigitalPin(interruptNum) (interruptInfo[interruptNum][0])
// determines gpio interrupt line by interrupt number
+14 -14
View File
@@ -164,27 +164,27 @@ HAL_TIMER32_CHANNEL_IndexTypeDef pwmPinToTimerChannel(uint32_t digPinNumber)
case 3:
return TIMER32_CHANNEL_3;
default:
return 255;
return NULL;
}
}
// ---------------------- interrupts ---------------------- //
// interrupt table is stored in ram to improve performance
// index = interrupt number. In each row {digitalPinNumber, IntLineValue, IntMuxValue}
uint8_t interruptInfo[EXTERNAL_NUM_INTERRUPTS][3] =
{
{2, GPIO_LINE_2, GPIO_MUX_LINE_2_PORT0_10}, // INT0
{3, GPIO_LINE_0, GPIO_MUX_LINE_0_PORT0_0}, // INT1
{4, GPIO_LINE_4, GPIO_MUX_LINE_4_PORT0_8}, // INT2
{5, GPIO_LINE_1, GPIO_MUX_LINE_1_PORT0_1}, // INT3
{8, GPIO_LINE_5, GPIO_MUX_LINE_5_PORT1_9}, // INT4
{9, GPIO_LINE_3, GPIO_MUX_LINE_3_PORT0_3}, // INT5
{BTN_BUILTIN, GPIO_LINE_6, GPIO_MUX_LINE_6_PORT2_6}, // INT6 (button)
uint8_t interruptInfo[EXTERNAL_INTERRUPTS_QTY][3] =
{
{2, GPIO_LINE_2, GPIO_MUX_LINE_2_PORT0_10}, // INT0
{3, GPIO_LINE_0, GPIO_MUX_LINE_0_PORT0_0}, // INT1
{4, GPIO_LINE_4, GPIO_MUX_LINE_4_PORT0_8}, // INT2
{5, GPIO_LINE_1, GPIO_MUX_LINE_1_PORT0_1}, // INT3
{8, GPIO_LINE_5, GPIO_MUX_LINE_5_PORT1_9}, // INT4
{9, GPIO_LINE_3, GPIO_MUX_LINE_3_PORT0_3}, // INT5
{BTN_BUILTIN, GPIO_LINE_6, GPIO_MUX_LINE_6_PORT2_6}, // INT6 (button) // todo кнопка на этом пине??
};
int8_t digitalPinToGpioIntMux(uint8_t digPinNumber)
{
for (uint8_t i = 0; i < EXTERNAL_NUM_INTERRUPTS; i++)
for (uint8_t i = 0; i < EXTERNAL_INTERRUPTS_QTY; i++)
{
if (interruptInfo[i][0] == digPinNumber)
return interruptInfo[i][2];
@@ -193,7 +193,7 @@ int8_t digitalPinToGpioIntMux(uint8_t digPinNumber)
}
int8_t digitalPinToGpioIntLine(uint8_t digPinNumber)
{
for (uint8_t i = 0; i < EXTERNAL_NUM_INTERRUPTS; i++)
for (uint8_t i = 0; i < EXTERNAL_INTERRUPTS_QTY; i++)
{
if (interruptInfo[i][0] == digPinNumber)
return interruptInfo[i][1];
@@ -203,7 +203,7 @@ int8_t digitalPinToGpioIntLine(uint8_t digPinNumber)
int8_t gpioIntLineToInterrupt(uint32_t gpioIntLine)
{
for (uint8_t i = 0; i < EXTERNAL_NUM_INTERRUPTS; i++)
for (uint8_t i = 0; i < EXTERNAL_INTERRUPTS_QTY; i++)
{
if (interruptInfo[i][1] == gpioIntLine)
return i;
@@ -213,7 +213,7 @@ int8_t gpioIntLineToInterrupt(uint32_t gpioIntLine)
int8_t digitalPinToInterrupt(uint32_t digPinNumber)
{
for (uint8_t i = 0; i < EXTERNAL_NUM_INTERRUPTS; i++)
for (uint8_t i = 0; i < EXTERNAL_INTERRUPTS_QTY; i++)
{
if (interruptInfo[i][0] == digPinNumber)
return i;