ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
25 ноября
433272 Топик полностью
Белый Жрец (15.08.2013 15:28, просмотров: 61) ответил Vit на Пара вариантов, но устроит ли, ХЗ
если без функций.  А переинициализировать можно и по старинке... #include "c:\Alex\Project\MyLib\Inc\bin2int.h" #include "C:\Alex\Project\MyLib\STM32\StdPerDrv\inc\stm32f4xx.h" // назначение входа #define mIN 00 #define mOU 01 #define mAF 10 #define mAN 11 // push-pull - open drain #define oPP 0 #define oOD 1 // частота #define s02 00 #define s25 01 #define s50 10 #define sto 11 // pop up/down #define dNO 00 #define dPU 01 #define dPD 10 // alternate function #define sdIO 1100 // SDIO #define USBp 1010 // USB FS #define SWDp 0000 // SWDIO #define noAF 0000 // нет #define UARa 0111 // USART2 #define UARb 0111 // USART3 #define UARc 0111 // USART1 #define UARd 1000 // USART6 #define SPIa 0101 // SPI1 #define SPIb 0101 // SPI2 #define I2Ca 0100 // I2C1 #define I2Cb 0100 // I2C2 #define TIMa 0001 // -- TIM1 #define TIMb 0010 // -- TIM3 /** Описание всех выводов в MB_V1.ods */ void Dev_Init(void){ { // Тики на AHB1 // // D D // M M C // A A +-CCMDATARAM R GPIO // 2 1 | +BKPSRAM C I H G F E D C B A RCC->AHB1ENR |= B1B32(0,0,0,0,0,0,0,0,0,1,1,1,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,1,1,1,1,1); // даёт тики на GPIO Px /// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 } ... ... void Pin_Init(void) { // 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 { // USARTa -- USART2 . . . . . . . . . . . . A A A A { // RX -- PA3 A #define aPA3 UARa #define oPA3 oPP #define sPA3 s25 #define dPA3 dNO #define mPA3 mAF } { // TX -- PA2 A #define aPA2 UARa #define oPA2 oPP #define sPA2 s25 #define dPA2 dNO #define mPA2 mAF } { // CTS -- PA0 A #define aPA0 UARa #define oPA0 oPP #define sPA0 s25 #define dPA0 dNO #define mPA0 mAF } { // RTS -- PA1 A #define aPA1 UARa #define oPA1 oPP #define sPA1 s25 #define dPA1 dNO #define mPA1 mAF } } { // USARTb -- USART3 . . . D D . D D . . . . . . . . { // RX -- PD9 D #define aPD9 UARb ... ... { // присвоения для порта A GPIOA->AFR[0] |= B4B32(aPA7, aPA6, aPA5, aPA4, aPA3, aPA2, aPA1,aPA0); GPIOA->AFR[1] |= B4B32(aPA15,aPA14,aPA13,aPA12,aPA11,aPA10,aPA9,aPA8); GPIOA->OTYPER |= B1B16(oPA15,oPA14,oPA13,oPA12,oPA11,oPA10,oPA9,oPA8,oPA7,oPA6,oPA5,oPA4,oPA3,oPA2,oPA1,oPA0); GPIOA->OSPEEDR |= B2B32(sPA15,sPA14,sPA13,sPA12,sPA11,sPA10,sPA9,sPA8,sPA7,sPA6,sPA5,sPA4,sPA3,sPA2,sPA1,sPA0); ... ...