// peripherals. // // PMAP_ROW() lets us specify a row (really a struct stm32_pin_info) // in the pin map. Its arguments are: // // - GPIO device for the pin (GPIOA, etc.) // - GPIO bit for the pin (0 through 15) // - Timer device, or NULL if none // - Timer channel (1 to 4, for PWM), or 0 if none // - ADC device, or NULL if none // - ADC channel, or ADCx if none extern const stm32_pin_info PIN_MAP[BOARD_NR_GPIO_PINS] = { /* Arduino-like header, right connectors */ PMAP_ROW(GPIOA, 3, NULL, 0, ADC1, 3), /* D0/PA3 */ PMAP_ROW(GPIOA, 2, NULL, 0, ADC1, 2), /* D1/PA2 */ PMAP_ROW(GPIOA, 10, NULL, 0, NULL, ADCx), /* D2/PA10 */ PMAP_ROW(GPIOB, 3, TIMER2, 2, NULL, ADCx), /* D3/PB3 REMAPPED */ PMAP_ROW(GPIOB, 5, NULL, 0, NULL, ADCx), /* D4/PB5 */ PMAP_ROW(GPIOB, 4, TIMER3, 1, NULL, ADCx), /* D5/PB4 REMAPPED */ PMAP_ROW(GPIOB, 10, TIMER2, 3, NULL, ADCx), /* D6/PB10 REMAPPED */ PMAP_ROW(GPIOA, 8, NULL, 0, NULL, ADCx), /* D7/PA8 */ PMAP_ROW(GPIOA, 9, NULL, 0, NULL, ADCx), /* D8/PA9 */ PMAP_ROW(GPIOC, 7, NULL, 0, NULL, ADCx), /* D9/PC7 */ PMAP_ROW(GPIOB, 6, TIMER4, 1, NULL, ADCx), /* D10/PB6 */ PMAP_ROW(GPIOA, 7, TIMER3, 2, ADC1, 7), /* D11/PA7 */ PMAP_ROW(GPIOA, 6, NULL, 0, ADC1, 6), /* D12/PA6 */ PMAP_ROW(GPIOA, 5, NULL, 0, ADC1, 5), /* D13/PA5 LED*/ PMAP_ROW(GPIOB, 9, NULL, 0, NULL, ADCx), /* D14/PB9 */
//=============================================== #include "m_include.h" //=============================================== extern timer_dev timer1; extern timer_dev timer2; extern timer_dev timer3; extern timer_dev timer4; extern const stm32_pin_info PIN_MAP[BOARD_NR_GPIO_PINS] = { /* Top header */ PMAP_ROW(&gpioa, 3, &timer2, 4, &adc1, 3), /* D0/PA3 */ PMAP_ROW(&gpioa, 2, &timer2, 3, &adc1, 2), /* D1/PA2 */ PMAP_ROW(&gpioa, 0, &timer2, 1, &adc1, 0), /* D2/PA0 */ PMAP_ROW(&gpioa, 1, &timer2, 2, &adc1, 1), /* D3/PA1 */ PMAP_ROW(&gpiob, 5, NULL, 0, NULL, ADC_NULL), /* D4/PB5 */ PMAP_ROW(&gpiob, 6, &timer4, 1, NULL, ADC_NULL), /* D5/PB6 */ PMAP_ROW(&gpioa, 8, &timer1, 1, NULL, ADC_NULL), /* D6/PA8 */ PMAP_ROW(&gpioa, 9, &timer1, 2, NULL, ADC_NULL), /* D7/PA9 */ PMAP_ROW(&gpioa, 10, &timer1, 3, NULL, ADC_NULL), /* D8/PA10 */ PMAP_ROW(&gpiob, 7, &timer4, 2, NULL, ADC_NULL), /* D9/PB7 */ PMAP_ROW(&gpioa, 4, NULL, 0, &adc1, 4), /* D10/PA4 SPI1_NSS */ PMAP_ROW(&gpioa, 7, &timer3, 2, &adc1, 7), /* D11/PA7 SPI1_MOSI*/ PMAP_ROW(&gpioa, 6, &timer3, 1, &adc1, 6), /* D12/PA6 SPI1_MISO*/ PMAP_ROW(&gpioa, 5, NULL, 0, &adc1, 5), /* D13/PA5 SPI1_SCK */ PMAP_ROW(&gpiob, 8, &timer4, 3, NULL, ADC_NULL), /* D14/PB8 */ // /* Little header */ PMAP_ROW(&gpioc, 0, NULL, 0, &adc1, 10), /* D15/PC0 */ PMAP_ROW(&gpioc, 1, NULL, 0, &adc1, 11), /* D16/PC1 */ PMAP_ROW(&gpioc, 2, NULL, 0, &adc1, 12), /* D17/PC2 */ PMAP_ROW(&gpioc, 3, NULL, 0, &adc1, 13), /* D18/PC3 */ PMAP_ROW(&gpioc, 4, NULL, 0, &adc1, 14), /* D19/PC4 */