ESP8266/USART záhada

Michal Grunt michal.grunt na vynet.cz
Středa Únor 25 10:53:12 CET 2015


Zdravím, mám STM32F103
http://img34.olx.ua/images_slandocomua/183653005_1_644x461_otladochnaya-plata-stm32-stm32f103c8t6-poltava.jpg
a k tomu nadrátovaný modul ESP8266 (na USART1).

Mám jednoduchý program pro připojení k AP. Na USART1 mám ještě připojený serial/USB kablík pro odposlouchávání komunikace (pouze RX z pohledu převodníku resp. TX PA9). Vše běží. Ale když USB kabel odpojím, zapnu napájení tak modul se k AP nepřipojí. Rychle bliká modrá LED na wifi modulu v podstatě bez přerušení - normálně bliká pouze asi vteřinu při připojení k AP.

Odpojím napájení a když zapojím pouze RX serial/USB kablík (aniž bych ten USB zapojoval do PC) tak vše opět běží...

Vyzkoušel jsem i externí napájení (ne z PC) a chová se to stejně. Jedině snad, že bych měl nějak blbě nakonfigurovaný USART1 a ten USB převodník by to nějak "pozitivně" ovlivňoval...

void USART1_Init()
{
                GPIO_InitTypeDef  GPIO_InitStructure;
                USART_InitTypeDef USART_InitStructure;
                NVIC_InitTypeDef NVIC_InitStructure;

                RCC_APB2PeriphClockCmd (RCC_APB2Periph_USART1 | RCC_APB2Periph_GPIOA, ENABLE);

                GPIO_InitStructure.GPIO_Pin   = GPIO_Pin_10;
                GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
                GPIO_InitStructure.GPIO_Mode  = GPIO_Mode_IN_FLOATING;
                GPIO_Init(GPIOA, &GPIO_InitStructure);

                GPIO_InitStructure.GPIO_Pin   = GPIO_Pin_9;
                GPIO_InitStructure.GPIO_Mode  = GPIO_Mode_AF_PP;
                GPIO_Init(GPIOA, &GPIO_InitStructure);

                USART_InitStructure.USART_BaudRate            = 115200;
                USART_InitStructure.USART_WordLength          = USART_WordLength_8b;
                USART_InitStructure.USART_StopBits            = USART_StopBits_1;
                USART_InitStructure.USART_Parity              = USART_Parity_No ;
                USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
                USART_InitStructure.USART_Mode                = USART_Mode_Rx | USART_Mode_Tx;
                USART_Init(USART1, &USART_InitStructure);

                NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);
                NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn;
                NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
                NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
                NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
                NVIC_Init(&NVIC_InitStructure);

                USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);
                NVIC_EnableIRQ(USART1_IRQn);

                USART_Cmd(USART1, ENABLE);
}

Děkuji za rady
MG
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20150225/d7de692e/attachment.html>


Další informace o konferenci Hw-list