ВходНаше всё Теги codebook PARTS Поиск Опросы Закон Воскресенье
4 декабря
1207865 Топик полностью
LightElf (12.05.2022 13:18, просмотров: 260) ответил Dingo на Тыкните ссылкой, если не лениво? Но хотелось бы средствами Цэ, бо тот же питон можно озадачить. У меня меньше чем через двумерный массив не решается пока что в голове.
Добавил ссылку выше. Конфиг пинов ST в коде у меня выглядел так: 
// MODER register
#define M_I 0
#define M_O 1
#define M_F 2
#define M_A 3

// OSPEEDR register
#define S_L 0
#define S_M 1
#define S_F 2
#define S_H 3

// PUPDR register
#define P_N 0
#define P_U 1
#define P_D 2
#define _PIN(x, y) ((y)<<(2*(x)))
void pin_init(void)
{
/* PORT A Pin Name AltFunc Dir Pull Speed PA0 - LAN_CRS B F N H PA1 - LAN_RX_CLK B F N H PA2 - LAN_MDIO B F N M PA3 - LAN_COL B F N H PA4 - nc 0 I D L PA5 - nc 0 I D L PA6 - nc 0 I D L PA7 - LAN_RX_DV B F N H PA8 - RCC_MCO_1 0 F N H PA9 - nc 0 I D L PA10 - nc 0 I D L PA11 - nc 0 I D L PA12 - nc 0 I D L PA13 - SYS_SWDIO 0 F U F PA14 - SYS_SWCLK 0 F D F PA15 - SPI_SS 5 F N H */ GPIOA->AFR[1] = 0x50000000; GPIOA->AFR[0] = 0xB000BBBB; GPIOA->MODER = _PIN(15, M_F)| _PIN(14, M_F)| _PIN(13, M_F)| _PIN(12, M_I)| _PIN(11, M_I)| _PIN(10, M_I)| _PIN(9, M_I)| _PIN(8, M_F)| _PIN(7, M_F) | _PIN(6, M_I) | _PIN(5, M_I) | _PIN(4, M_I) | _PIN(3, M_F) | _PIN(2, M_F) | _PIN(1, M_F)| _PIN(0, M_F); GPIOA->OTYPER = 0x00000000; GPIOA->OSPEEDR = _PIN(15, S_H)| _PIN(14, S_F)| _PIN(13, S_F)| _PIN(12, S_L)| _PIN(11, S_L)| _PIN(10, S_L)| _PIN(9, S_L)| _PIN(8, S_H)| _PIN(7, S_H) | _PIN(6, S_L) | _PIN(5, S_L) | _PIN(4, S_L) | _PIN(3, S_H) | _PIN(2, S_M) | _PIN(1, S_H)| _PIN(0, S_H); GPIOA->PUPDR = _PIN(15, P_N)| _PIN(14, P_D)| _PIN(13, P_U)| _PIN(12, P_D)| _PIN(11, P_D)| _PIN(10, P_D)| _PIN(9, P_D)| _PIN(8, P_N)| _PIN(7, P_N) | _PIN(6, P_D) | _PIN(5, P_D) | _PIN(4, P_D) | _PIN(3, P_N) | _PIN(2, P_N) | _PIN(1, P_N)| _PIN(0, P_N); __DSB();
/* ................. */

}