реклама на сайте
подробности

 
 
> stm32f405rg6 странная форма импульсов
Reystlin
сообщение Mar 25 2016, 20:09
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 67
Регистрация: 6-09-15
Пользователь №: 88 307



Доброго времени суток ув. форумчане
продолжаю освоение 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);

вывожу в порт вот так
CODE
#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, случается, что импульсы становятся длинней и тогда амплитуда, до которой дорастает импульс выше, что видно на последнем импульсе на фото. нога висит в воздухе

Сообщение отредактировал IgorKossak - Mar 25 2016, 20:10
Причина редактирования: [codebox] для длинного кода, [code] - для короткого!!!

Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
esaulenka
сообщение Mar 29 2016, 09:44
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 032
Регистрация: 13-03-08
Из: Маськва
Пользователь №: 35 877



Да, в этих библиотеках надо обязательно инициализировать все поля структур-параметров. Иначе возможны разнообразнейшие приключения.
Тут, судя по всему, порт переключился в режим "открытый коллектор".


--------------------
Тут обсуждается творческий порыв, а не соответствие каким-либо стандартам ©
Go to the top of the page
 
+Quote Post
scifi
сообщение Mar 29 2016, 12:42
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(esaulenka @ Mar 29 2016, 12:44) *
Да, в этих библиотеках надо обязательно инициализировать все поля структур-параметров. Иначе возможны разнообразнейшие приключения.
Тут, судя по всему, порт переключился в режим "открытый коллектор".

Причём проверить режим порта, прочитав регистры, способны лишь полубоги, видимо laughing.gif
Go to the top of the page
 
+Quote Post
Tarbal
сообщение Mar 29 2016, 17:15
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 351
Регистрация: 21-05-10
Пользователь №: 57 439



Цитата(scifi @ Mar 29 2016, 16:42) *
Причём проверить режим порта, прочитав регистры, способны лишь полубоги, видимо laughing.gif


Да ладно вам. Там много чего есть. Начинающим трудно разобраться.
Go to the top of the page
 
+Quote Post
scifi
сообщение Mar 29 2016, 17:34
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(Tarbal @ Mar 29 2016, 20:15) *
Да ладно вам. Там много чего есть. Начинающим трудно разобраться.

Помнится, волею судеб первый МК был 80C166. Для начинающих тоже не сахар, наверное. Прочитал бумажный мануал от корки до корки, некоторые части дважды. Ничего, осилилось. Или это нынче не модно? Нужно за ручку и с поглаживанием по головке?
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 22:34
Рейтинг@Mail.ru


Страница сгенерированна за 0.01329 секунд с 7
ELECTRONIX ©2004-2016