ВходНаше всё Теги codebook PARTS Поиск Опросы Закон Воскресенье
3 июля
1208006 Топик полностью
Dingo (13.05.2022 06:01, просмотров: 194) ответил The на Пойми: нет никаких PC10, РС11 и всяких там TX3 TX4. Есть RED_LED, GREEN_LED, USART_LEFT_DOOR и т.п. В одном месте прокта, а именно в конфиге, для каждого ресурса прописывается принадлежность логического физическому: define RED_LED PORTC,10, OD, PP, VERY_HIGH, LOG_1. Всё. Вы давно, 5 лет назад еще должны были написать для себя удобные шаблоны и макросы, которые сами все уставки упакуют в uint16 и раскидают по GPIOx-ORD-MODER.... Также и для USARTов
Сейчас так пользую через avmacro 

Но там склейка используется GPIO##_port и периферии, тактирования шин нет. Проверки типов тоже, о чём уже упоминали.

#define ADC_MCLK     B,  8, H, F, GPIO_AF_TIM10 /* Ch3 */
#define ADC_nDRDY    B,  1, L, F, AF_SYS /* GPIO In  #data ready */
#define ADC_nSYNCPD  B,  0, L, F, AF_SYS /* GPIO Out #sync/#power down */
#define ADC_nCS      A,  4, L, F, AF_SYS /* GPIO Out #chip select */
#define ADC_SCLK     A,  5, H, F, 0x05 /*GPIO_AF_SPI1*/
#define ADC_MISO     A,  6, H, F, 0x05 /*GPIO_AF_SPI1 //SDO == ADC_MISO*/
#define ADC_MOSI     B,  5, H, F, 0x05 /*GPIO_AF_SPI1 //SDI == ADC_MOSI // N/A, but Connected */
#define ADC_V_EN     E, 13, H, F, AF_SYS /* GPIO Out for voltage enable */
/* ............ */
clk_on(ADC_nCS); dir_out_pp(ADC_nCS); pin_off(ADC_nCS);
Ответы