Reystlin 0 25 марта, 2016 Опубликовано 25 марта, 2016 (изменено) · Жалоба Доброго времени суток ув. форумчане продолжаю освоение stm32 и столкнулся с проблемой, которую не могу объяснить. инициализирую порт вот таким образом GPIO_InitTypeDef GPIO_InitStructure; RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB, ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; GPIO_Init(GPIOB, &GPIO_InitStructure); вывожу в порт вот так #define LO_lcd_rst GPIO_ResetBits(GPIOB, GPIO_Pin_14) #define HI_lcd_rst GPIO_SetBits(GPIOB, GPIO_Pin_14) #define LO_lcd_cs GPIO_ResetBits(GPIOB, GPIO_Pin_12) #define HI_lcd_cs GPIO_SetBits(GPIOB, GPIO_Pin_12) #define LO_mosi GPIO_ResetBits(GPIOB, GPIO_Pin_15) #define HI_mosi GPIO_SetBits(GPIOB, GPIO_Pin_15) #define LO_clk GPIO_ResetBits(GPIOB, GPIO_Pin_10) #define HI_clk GPIO_SetBits(GPIOB, GPIO_Pin_10) LO_clk; HI_mosi; swSpiDelay HI_clk; LO_clk; (data & 1<<15) ? HI_mosi : LO_mosi; swSpiDelay HI_clk; LO_clk; (data & 1<<14) ? HI_mosi : LO_mosi; swSpiDelay HI_clk; LO_clk; (data & 1<<13) ? HI_mosi : LO_mosi; swSpiDelay HI_clk; LO_clk; (data & 1<<12) ? HI_mosi : LO_mosi; swSpiDelay HI_clk; LO_clk; (data & 1<<11) ? HI_mosi : LO_mosi; swSpiDelay HI_clk; LO_clk; (data & 1<<10) ? HI_mosi : LO_mosi; swSpiDelay HI_clk; LO_clk; (data & 1<<9) ? HI_mosi : LO_mosi; swSpiDelay HI_clk; LO_clk; (data & 1<<8) ? HI_mosi : LO_mosi; swSpiDelay HI_clk; LO_clk; HI_mosi; swSpiDelay HI_clk; LO_clk; (data & 1<<7) ? HI_mosi : LO_mosi; swSpiDelay HI_clk; LO_clk; (data & 1<<6) ? HI_mosi : LO_mosi; swSpiDelay HI_clk; LO_clk; (data & 1<<5) ? HI_mosi : LO_mosi; swSpiDelay HI_clk; LO_clk; (data & 1<<4) ? HI_mosi : LO_mosi; swSpiDelay HI_clk; LO_clk; (data & 1<<3) ? HI_mosi : LO_mosi; swSpiDelay HI_clk; LO_clk; (data & 1<<2) ? HI_mosi : LO_mosi; swSpiDelay HI_clk; LO_clk; (data & 1<<1) ? HI_mosi : LO_mosi; swSpiDelay HI_clk; LO_clk; (data & 1<<0) ? HI_mosi : LO_mosi; swSpiDelay HI_clk; на выходах МК имею картину, что на фото в аттаче в проекте используется FreeRTOS, случается, что импульсы становятся длинней и тогда амплитуда, до которой дорастает импульс выше, что видно на последнем импульсе на фото. нога висит в воздухе Изменено 25 марта, 2016 пользователем IgorKossak [codebox] для длинного кода, [code] - для короткого!!! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kolobok0 0 25 марта, 2016 Опубликовано 25 марта, 2016 (изменено) · Жалоба GPIO_InitTypeDef GPIO_InitStructure; RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB, ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; GPIO_Init(GPIOB, &GPIO_InitStructure); .... нога висит в воздухе чиссо как пример инициализации структуры GPIO_StructInit(&GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5 | GPIO_Pin_6; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_25MHz; GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; (круглый) Изменено 25 марта, 2016 пользователем kolobok0 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Reystlin 0 25 марта, 2016 Опубликовано 25 марта, 2016 · Жалоба помогло, благодарю:) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
esaulenka 5 29 марта, 2016 Опубликовано 29 марта, 2016 · Жалоба Да, в этих библиотеках надо обязательно инициализировать все поля структур-параметров. Иначе возможны разнообразнейшие приключения. Тут, судя по всему, порт переключился в режим "открытый коллектор". Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Tarbal 4 29 марта, 2016 Опубликовано 29 марта, 2016 · Жалоба Да, в этих библиотеках надо обязательно инициализировать все поля структур-параметров. Иначе возможны разнообразнейшие приключения. Тут, судя по всему, порт переключился в режим "открытый коллектор". 100% открытый сток :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
scifi 1 29 марта, 2016 Опубликовано 29 марта, 2016 · Жалоба Да, в этих библиотеках надо обязательно инициализировать все поля структур-параметров. Иначе возможны разнообразнейшие приключения. Тут, судя по всему, порт переключился в режим "открытый коллектор". Причём проверить режим порта, прочитав регистры, способны лишь полубоги, видимо :laughing: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Tarbal 4 29 марта, 2016 Опубликовано 29 марта, 2016 · Жалоба Причём проверить режим порта, прочитав регистры, способны лишь полубоги, видимо :laughing: Да ладно вам. Там много чего есть. Начинающим трудно разобраться. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
scifi 1 29 марта, 2016 Опубликовано 29 марта, 2016 · Жалоба Да ладно вам. Там много чего есть. Начинающим трудно разобраться. Помнится, волею судеб первый МК был 80C166. Для начинающих тоже не сахар, наверное. Прочитал бумажный мануал от корки до корки, некоторые части дважды. Ничего, осилилось. Или это нынче не модно? Нужно за ручку и с поглаживанием по головке? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alechek 0 30 марта, 2016 Опубликовано 30 марта, 2016 · Жалоба Нынче надо читать мануал и про HAL и про МК. Двойная работа.. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
niXto 0 30 марта, 2016 Опубликовано 30 марта, 2016 · Жалоба Нынче мануал на ф4 - это 1700 страниц Плюс примерно столько же на само АРМ ядро Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться