Доброго времени суток ув. форумчане
продолжаю освоение 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] - для короткого!!!
Эскизы прикрепленных изображений