Перейти к содержанию
    

Narod stream manual on blinking esp8266 not working on NODEMCU

Hello i have installed eclipse and the espressif sdk  and the example blinky 2 worked great as shown in code 1 bellow.

Then i have found a manual serias of narodstream ep5  shown bellow which gives the code shown bellow called code 2

https://narodstream.ru/esp8266-urok-5-nastraivaem-toolchain-i-pishem-svoyu-proshivku-v-ide-eclipse-chast-1/

 

When i Complied code 2 instead of the bilinky 2 code 1 it showed no error,but it didnt blink either.

I think its because we used the wrong GPIO.
I cant understand the  meaning of the CODE2

there is flash stuff, and ATTR,flash map
 

  PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO2_U, FUNC_GPIO2);
  gpio_output_set(0, 0, (1 << LED), 0);

What kind of code it is? it differs alot from EFR32 simplisity studio.
Is there some place i cant learn the meaning of these terms?

 

Code 1

/*
	The blinky demo using an os timer
	TODO : work out why this resets after a while
*/

#include <ets_sys.h>
#include <osapi.h>
#include <os_type.h>
#include <gpio.h>

// see eagle_soc.h for these definitions
#define LED_GPIO 2
#define LED_GPIO_MUX PERIPHS_IO_MUX_GPIO2_U
#define LED_GPIO_FUNC FUNC_GPIO2

#define DELAY 100 /* milliseconds */

LOCAL os_timer_t blink_timer;
LOCAL uint8_t led_state=0;

LOCAL void ICACHE_FLASH_ATTR blink_cb(void *arg)
{
	GPIO_OUTPUT_SET(LED_GPIO, led_state);
	PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTDI_U,FUNC_GPIO12);
	led_state ^=1;
}

void user_rf_pre_init(void)
{
}

void user_init(void)
{
	// Configure pin as a GPIO
	PIN_FUNC_SELECT(LED_GPIO_MUX, LED_GPIO_FUNC);
	// Set up a timer to blink the LED
	// os_timer_disarm(ETSTimer *ptimer)
	os_timer_disarm(&blink_timer);
	// os_timer_setfn(ETSTimer *ptimer, ETSTimerFunc *pfunction, void *parg)
	os_timer_setfn(&blink_timer, (os_timer_func_t *)blink_cb, (void *)0);
	// void os_timer_arm(ETSTimer *ptimer,uint32_t milliseconds, bool repeat_flag)
	os_timer_arm(&blink_timer, DELAY, 1);
}

 

Code 2

#include <stdio.h>
#include "ets_sys.h"
#include "user_interface.h"
#include "gpio.h"
//------------------------------------------------------
#define LED 2
//------------------------------------------------------
void  delay(uint32_t count )
{
  while(--count);
}
//------------------------------------------------------
uint32 ICACHE_FLASH_ATTR user_rf_cal_sector_set(void)
{
    enum flash_size_map size_map = system_get_flash_size_map();
    uint32 rf_cal_sec = 0;

    switch (size_map) {
        case FLASH_SIZE_4M_MAP_256_256:
            rf_cal_sec = 128 - 8;
            break;

        case FLASH_SIZE_8M_MAP_512_512:
            rf_cal_sec = 256 - 5;
            break;

        case FLASH_SIZE_16M_MAP_512_512:
        case FLASH_SIZE_16M_MAP_1024_1024:
            rf_cal_sec = 512 - 5;
            break;

        case FLASH_SIZE_32M_MAP_512_512:
        case FLASH_SIZE_32M_MAP_1024_1024:
            rf_cal_sec = 1024 - 5;
            break;

        default:
            rf_cal_sec = 0;
            break;
    }
    return rf_cal_sec;
}
//------------------------------------------------------
void ICACHE_FLASH_ATTR user_init()
{
  gpio_init();
  PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO2_U, FUNC_GPIO2);
  gpio_output_set(0, 0, (1 << LED), 0);
  while(1)
  {
    delay(1000000);
    system_soft_wdt_feed();
    gpio_output_set(0, (1 << LED), 0, 0);
    delay(1000000);
    system_soft_wdt_feed();
    gpio_output_set((1 << LED), 0, 0, 0);
  }
}
//------------------------------------------------------



 

Изменено пользователем sergei94

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...