#101 2018-06-30 06:06:41

renoshnik
Учасник
Зареєстрований: 2017-04-03
Повідомлень: 1,025

Re: Помогите запустить WeMos XI

Указал плату  LGT Nano ...  sad   все равно ....


Arduino: 1.8.5 (Windows 7), Плата:"LGT Nano"

C:\Users\Admin\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino9/bin/avrdude -CC:\Users\Admin\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino9/etc/avrdude.conf -v -patmega328p -cstk500v1 -PCOM5 -b19200 -e -Ulock:w:0x3f:m -Uefuse:w:0x07:m -Uhfuse:w:0xff:m -Ulfuse:w:0xff:m 

avrdude: Version 6.3, compiled on Jan 17 2017 at 12:00:53
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "C:\Users\Admin\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino9/etc/avrdude.conf"

         Using Port                    : COM5
         Using Programmer              : stk500v1
         Overriding Baud Rate          : 19200
         AVR Part                      : ATmega328P
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PC2
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom        65    20     4    0 no       1024    4      0  3600  3600 0xff 0xff
           flash         65     6   128    0 yes     32768  128    256  4500  4500 0xff 0xff
           lfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           lock           0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

         Programmer Type : STK500
         Description     : Atmel STK500 Version 1.x firmware
         Hardware Version: 2
         Firmware Version: 1.18
         Topcard         : Unknown
         Vtarget         : 0.0 V
         Varef           : 0.0 V
         Oscillator      : Off
         SCK period      : 0.1 us

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.02s

avrdude: Device signature = 0x1e950f (probably m328p)
avrdude: erasing chip
avrdude: reading input file "0x3f"
avrdude: writing lock (1 bytes):

Writing | ################################################## | 100% 0.00s

avrdude: 1 bytes of lock written
avrdude: verifying lock memory against 0x3f:
avrdude: load data lock data from input file 0x3f:
avrdude: input file 0x3f contains 1 bytes
avrdude: reading on-chip lock data:

Reading | ################################################## | 100% 0.02s

avrdude: verifying ...
avrdude: 1 bytes of lock verified
avrdude: reading input file "0x07"
avrdude: writing efuse (1 bytes):

Writing |  ***failed;  
################################################## | 100% 0.11s

avrdude: 1 bytes of efuse written
avrdude: verifying efuse memory against 0x07:
avrdude: load data efuse data from input file 0x07:
avrdude: input file 0x07 contains 1 bytes
avrdude: reading on-chip efuse data:

Reading | ################################################## | 100% 0.00s

avrdude: verifying ...
avrdude: WARNING: invalid value for unused bits in fuse "efuse", should be set to 1 according to datasheet
This behaviour is deprecated and will result in an error in future version
You probably want to use 0xff instead of 0x07 (double check with your datasheet first).
avrdude: 1 bytes of efuse verified
avrdude: reading input file "0xff"
avrdude: writing hfuse (1 bytes):

Writing | ################################################## | 100% 0.00s

avrdude: 1 bytes of hfuse written
avrdude: verifying hfuse memory against 0xff:
avrdude: load data hfuse data from input file 0xff:
avrdude: input file 0xff contains 1 bytes
avrdude: reading on-chip hfuse data:

Reading | ################################################## | 100% 0.02s

avrdude: verifying ...
avrdude: 1 bytes of hfuse verified
avrdude: reading input file "0xff"
avrdude: writing lfuse (1 bytes):

Writing | ################################################## | 100% 0.00s

avrdude: 1 bytes of lfuse written
avrdude: verifying lfuse memory against 0xff:
avrdude: load data lfuse data from input file 0xff:
avrdude: input file 0xff contains 1 bytes
avrdude: reading on-chip lfuse data:

Reading | ################################################## | 100% 0.00s

avrdude: verifying ...
avrdude: 1 bytes of lfuse verified

avrdude done.  Thank you.

C:\Users\Admin\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino9/bin/avrdude -CC:\Users\Admin\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino9/etc/avrdude.conf -v -patmega328p -cstk500v1 -PCOM5 -b19200 -Uflash:w:C:\Program Files (x86)\Arduino\hardware\wemos\XI/bootloaders/lgt8fx8p\optiboot_lgt8f328p.hex:i -Ulock:w:0x3f:m 

avrdude: Version 6.3, compiled on Jan 17 2017 at 12:00:53
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "C:\Users\Admin\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino9/etc/avrdude.conf"

         Using Port                    : COM5
         Using Programmer              : stk500v1
         Overriding Baud Rate          : 19200
         AVR Part                      : ATmega328P
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PC2
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom        65    20     4    0 no       1024    4      0  3600  3600 0xff 0xff
           flash         65     6   128    0 yes     32768  128    256  4500  4500 0xff 0xff
           lfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           lock           0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

         Programmer Type : STK500
         Description     : Atmel STK500 Version 1.x firmware
         Hardware Version: 2
         Firmware Version: 1.18
         Topcard         : Unknown
         Vtarget         : 0.0 V
         Varef           : 0.0 V
         Oscillator      : Off
         SCK period      : 0.1 us

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.02s

avrdude: Device signature = 0x1e950f (probably m328p)
avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed
         To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "C:\Program Files (x86)\Arduino\hardware\wemos\XI/bootloaders/lgt8fx8p\optiboot_lgt8f328p.hex"
avrdude: writing flash (30720 bytes):

Writing | ################################################## | 100% 0.56s

avrdude: 30720 bytes of flash written
avrdude: verifying flash memory against C:\Program Files (x86)\Arduino\hardware\wemos\XI/bootloaders/lgt8fx8p\optiboot_lgt8f328p.hex:
avrdude: load data flash data from input file C:\Program Files (x86)\Arduino\hardware\wemos\XI/bootloaders/lgt8fx8p\optiboot_lgt8f328p.hex:
avrdude: input file C:\Program Files (x86)\Arduino\hardware\wemos\XI/bootloaders/lgt8fx8p\optiboot_lgt8f328p.hex contains 30720 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 0.09s

avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x0000
         0x8c != 0x0c
avrdude: verification error; content mismatch

avrdude done.  Thank you.

Ошибка при записи загрузчика.

Неактивний

#102 2018-07-03 15:40:33

renoshnik
Учасник
Зареєстрований: 2017-04-03
Повідомлень: 1,025

Re: Помогите запустить WeMos XI

Оказывается моя эпопея не завершена...
Продавец прислал новые платы !!!!   lol

Пока не рискнул их подключать, хочу уточнить, может действительно я упустил какой то нюанс...
Поэтому обращаюсь к тем у кого процесс пошел...

Green пише:

..

miv81 пише:

..

Всели правильно я делал ?

1 - использовал переходник  CP2102 USB 2.0 TTL UART
https://ru.aliexpress.com/item/1PCS-CP2 … autifyAB=0

2 - заливал стандартный "блинк" из примеров.

3 - производил настройки как описано тут   https://arduinoplus.ru/wemos-xi/

the devil is in the details

Остання редакція renoshnik (2018-07-03 15:42:03)

Неактивний

#103 2018-07-03 15:52:09

Green
Учасник
Зареєстрований: 2015-11-08
Повідомлень: 593

Re: Помогите запустить WeMos XI

Сначала нужно сказать есть ли загрузчик.

Неактивний

#104 2018-07-03 16:12:14

Вячеслав Азаров
Учасник
Зареєстрований: 2017-05-25
Повідомлень: 1,732

Re: Помогите запустить WeMos XI

В ардуинке стоит конденсатор между DTR и RESET.

Неактивний

#105 2018-07-03 16:30:56

renoshnik
Учасник
Зареєстрований: 2017-04-03
Повідомлень: 1,025

Re: Помогите запустить WeMos XI

Green пише:

Сначала нужно сказать есть ли загрузчик.

Пока не известно, новые платы еще не распечатывал.
Есть опасение, что в первый раз я затер загрузчик т.к. было несколько ярких вспышек СД, а потом в полнакала стал светить.

Неактивний

#106 2018-07-03 16:33:41

renoshnik
Учасник
Зареєстрований: 2017-04-03
Повідомлень: 1,025

Re: Помогите запустить WeMos XI

Вячеслав Азаров пише:

В ардуинке стоит конденсатор между DTR и RESET.

Ту DTF тоже через конденсатор соединен.

Неактивний

#107 2018-07-05 21:46:32

Green
Учасник
Зареєстрований: 2015-11-08
Повідомлень: 593

Re: Помогите запустить WeMos XI

Ну и... Всё класс?)

Неактивний

#108 2018-07-06 08:20:37

renoshnik
Учасник
Зареєстрований: 2017-04-03
Повідомлень: 1,025

Re: Помогите запустить WeMos XI

Green пише:

Ну и... Всё класс?)

Я со своими приключениями уже на холодную воду дую...  smile

Уже подозреваю, может ЮСБ УАРТ переходник не той модели .... hmm   может действительно заказать на CH340G ???

Неактивний

#109 2018-07-06 09:43:36

Green
Учасник
Зареєстрований: 2015-11-08
Повідомлень: 593

Re: Помогите запустить WeMos XI

)) Так через Вемос должна ведь грузить...
Мне ещё одна похожая плата попалась, правда с LGT8F328е. И даже загрузилась через стандартную Нано, только работала не правильно.)

Остання редакція Green (2018-07-06 09:44:08)

Неактивний

#110 2018-07-06 17:46:06

renoshnik
Учасник
Зареєстрований: 2017-04-03
Повідомлень: 1,025

Re: Помогите запустить WeMos XI

Green пише:

)) Так через Вемос должна ведь грузить...
Мне ещё одна похожая плата попалась, правда с LGT8F328е. И даже загрузилась через стандартную Нано, только работала не правильно.)

Так и грузил "блинк" через Вемос (выбрал в боардс), а ничего не получилось...

Какой переходник USB-UART вы использовали ?

Неактивний

#111 2018-07-09 09:40:10

renoshnik
Учасник
Зареєстрований: 2017-04-03
Повідомлень: 1,025

Re: Помогите запустить WeMos XI

!!!! появился прорыв !!!!

Купил arduino nano подключил как обычно, результат = ошибка ...

От нечего делать (от безисходности) питание "вемоса" кинул на +3.3 у "ардуины" ...

http://i.piccy.info/i9/e47d6e6f89b6b082c4af9430cd7ff647/1531118325/145610/1252651/unnamed.jpg

И вот получил !!!

C:\Users\Admin\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino9/bin/avrdude -CC:\Users\Admin\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino9/etc/avrdude.conf -v -patmega328p -cstk500v1 -PCOM6 -b19200 -e -Ulock:w:0x3f:m -Uefuse:w:0x07:m -Uhfuse:w:0xff:m -Ulfuse:w:0xff:m 

avrdude: Version 6.3, compiled on Jan 17 2017 at 12:00:53
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "C:\Users\Admin\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino9/etc/avrdude.conf"

         Using Port                    : COM6
         Using Programmer              : stk500v1
         Overriding Baud Rate          : 19200
         AVR Part                      : ATmega328P
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PC2
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom        65    20     4    0 no       1024    4      0  3600  3600 0xff 0xff
           flash         65     6   128    0 yes     32768  128    256  4500  4500 0xff 0xff
           lfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           lock           0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

         Programmer Type : STK500
         Description     : Atmel STK500 Version 1.x firmware
         Hardware Version: 2
         Firmware Version: 1.18
         Topcard         : Unknown
         Vtarget         : 0.0 V
         Varef           : 0.0 V
         Oscillator      : Off
         SCK period      : 0.1 us

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.02s

avrdude: Device signature = 0x1e950f (probably m328p)
avrdude: erasing chip
avrdude: reading input file "0x3f"
avrdude: writing lock (1 bytes):

Writing | ################################################## | 100% 0.02s

avrdude: 1 bytes of lock written
avrdude: verifying lock memory against 0x3f:
avrdude: load data lock data from input file 0x3f:
avrdude: input file 0x3f contains 1 bytes
avrdude: reading on-chip lock data:

Reading | ################################################## | 100% 0.00s

avrdude: verifying ...
avrdude: 1 bytes of lock verified
avrdude: reading input file "0x07"
avrdude: writing efuse (1 bytes):

Writing |  ***failed;  
################################################## | 100% 0.12s

avrdude: 1 bytes of efuse written
avrdude: verifying efuse memory against 0x07:
avrdude: load data efuse data from input file 0x07:
avrdude: input file 0x07 contains 1 bytes
avrdude: reading on-chip efuse data:

Reading | ################################################## | 100% 0.00s

avrdude: verifying ...
avrdude: WARNING: invalid value for unused bits in fuse "efuse", should be set to 1 according to datasheet
This behaviour is deprecated and will result in an error in future version
You probably want to use 0xff instead of 0x07 (double check with your datasheet first).
avrdude: 1 bytes of efuse verified
avrdude: reading input file "0xff"
avrdude: writing hfuse (1 bytes):

Writing | ################################################## | 100% 0.02s

avrdude: 1 bytes of hfuse written
avrdude: verifying hfuse memory against 0xff:
avrdude: load data hfuse data from input file 0xff:
avrdude: input file 0xff contains 1 bytes
avrdude: reading on-chip hfuse data:

Reading | ################################################## | 100% -0.00s

avrdude: verifying ...
avrdude: 1 bytes of hfuse verified
avrdude: reading input file "0xff"
avrdude: writing lfuse (1 bytes):

Writing | ################################################## | 100% 0.02s

avrdude: 1 bytes of lfuse written
avrdude: verifying lfuse memory against 0xff:
avrdude: load data lfuse data from input file 0xff:
avrdude: input file 0xff contains 1 bytes
avrdude: reading on-chip lfuse data:

Reading | ################################################## | 100% 0.00s

avrdude: verifying ...
avrdude: 1 bytes of lfuse verified

avrdude done.  Thank you.

C:\Users\Admin\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino9/bin/avrdude -CC:\Users\Admin\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino9/etc/avrdude.conf -v -patmega328p -cstk500v1 -PCOM6 -b19200 -Uflash:w:C:\Program Files (x86)\Arduino\hardware\wemos\XI/bootloaders/lgt8fx8e\optiboot_lgt8f328d.hex:i -Ulock:w:0x3f:m 

avrdude: Version 6.3, compiled on Jan 17 2017 at 12:00:53
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "C:\Users\Admin\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino9/etc/avrdude.conf"

         Using Port                    : COM6
         Using Programmer              : stk500v1
         Overriding Baud Rate          : 19200
         AVR Part                      : ATmega328P
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PC2
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom        65    20     4    0 no       1024    4      0  3600  3600 0xff 0xff
           flash         65     6   128    0 yes     32768  128    256  4500  4500 0xff 0xff
           lfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           lock           0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

         Programmer Type : STK500
         Description     : Atmel STK500 Version 1.x firmware
         Hardware Version: 2
         Firmware Version: 1.18
         Topcard         : Unknown
         Vtarget         : 0.0 V
         Varef           : 0.0 V
         Oscillator      : Off
         SCK period      : 0.1 us

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.02s

avrdude: Device signature = 0x1e950f (probably m328p)
avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed
         To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "C:\Program Files (x86)\Arduino\hardware\wemos\XI/bootloaders/lgt8fx8e\optiboot_lgt8f328d.hex"
avrdude: writing flash (30720 bytes):

Writing | ################################################## | 100% 0.16s

avrdude: 30720 bytes of flash written
avrdude: verifying flash memory against C:\Program Files (x86)\Arduino\hardware\wemos\XI/bootloaders/lgt8fx8e\optiboot_lgt8f328d.hex:
avrdude: load data flash data from input file C:\Program Files (x86)\Arduino\hardware\wemos\XI/bootloaders/lgt8fx8e\optiboot_lgt8f328d.hex:
avrdude: input file C:\Program Files (x86)\Arduino\hardware\wemos\XI/bootloaders/lgt8fx8e\optiboot_lgt8f328d.hex contains 30720 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 0.08s

avrdude: verifying ...
avrdude: 30720 bytes of flash verified
avrdude: reading input file "0x3f"
avrdude: writing lock (1 bytes):

Writing | ################################################## | 100% 0.02s

avrdude: 1 bytes of lock written
avrdude: verifying lock memory against 0x3f:
avrdude: load data lock data from input file 0x3f:
avrdude: input file 0x3f contains 1 bytes
avrdude: reading on-chip lock data:

Reading | ################################################## | 100% 0.00s

avrdude: verifying ...
avrdude: 1 bytes of lock verified

avrdude done.  Thank you.

Что бы это значило ...  ?

Неактивний

#112 2018-07-09 14:24:43

renoshnik
Учасник
Зареєстрований: 2017-04-03
Повідомлень: 1,025

Re: Помогите запустить WeMos XI

Залил "блинк" !!!
Скетч залился только при питании 3,3 Вольта  hmm   в дальнейшем переключил питание на 5 Вольт скетч работает ...  hmm
Если заливать скетч при питании 5 Вольт, плата виснет .... 


актуальный вопрос - какое опорное напряжение для АЦП ?

Неактивний

#113 2018-07-09 15:51:04

Вячеслав Азаров
Учасник
Зареєстрований: 2017-05-25
Повідомлень: 1,732

Re: Помогите запустить WeMos XI

renoshnik пише:

... актуальный вопрос - какое опорное напряжение для АЦП ?

Такое же как и у Мег.

Неактивний

#114 2018-07-09 16:36:17

renoshnik
Учасник
Зареєстрований: 2017-04-03
Повідомлень: 1,025

Re: Помогите запустить WeMos XI

Вячеслав Азаров пише:
renoshnik пише:

... актуальный вопрос - какое опорное напряжение для АЦП ?

Такое же как и у Мег.

Тоесть 5 Вольт.

Кто-то может объяснить эту странность с питанием при заливке скетча ?

Неактивний

#115 2018-07-09 20:38:45

Green
Учасник
Зареєстрований: 2015-11-08
Повідомлень: 593

Re: Помогите запустить WeMos XI

renoshnik пише:

Какой переходник USB-UART вы использовали ?

Если заливать скетч при питании 5 Вольт, плата виснет .... 

актуальный вопрос - какое опорное напряжение для АЦП ?

Переходник какой непопадя.) Кажись от телефона Ериксон.)
Причём АЦП к заливке скетча?

Неактивний

#116 2018-07-09 20:47:35

Вячеслав Азаров
Учасник
Зареєстрований: 2017-05-25
Повідомлень: 1,732

Re: Помогите запустить WeMos XI

renoshnik пише:

Тоесть 5 Вольт. Кто-то может объяснить эту странность с питанием при заливке скетча ?

Точнее три: VCCA, VREFexternal, VREFinternal(1.2V).  А странность можно объяснить только с помощью хрустального шара или технологического исследования.  smile

Неактивний

#117 2018-07-09 20:52:28

Green
Учасник
Зареєстрований: 2015-11-08
Повідомлень: 593

Re: Помогите запустить WeMos XI

Да, нужно проводить научные изыскания и эксперименты.))

Неактивний

#118 2018-07-09 21:39:46

renoshnik
Учасник
Зареєстрований: 2017-04-03
Повідомлень: 1,025

Re: Помогите запустить WeMos XI

Вячеслав Азаров пише:
renoshnik пише:

Тоесть 5 Вольт. Кто-то может объяснить эту странность с питанием при заливке скетча ?

Точнее три: VCCA, VREFexternal, VREFinternal(1.2V).  А странность можно объяснить только с помощью хрустального шара или технологического исследования.  smile

...  big_smile   тут оказывается все гораздо хитрее... восток дело тонкое ....   lol

/*

C:\Program Files (x86)\Arduino\hardware\wemos\XI\cores\lgt8f\wiring_analog.c

  wiring_analog.c - analog input and output
  Part of Arduino - http://www.arduino.cc/

  Copyright (c) 2005-2006 David A. Mellis

  This library is free software; you can redistribute it and/or
  modify it under the terms of the GNU Lesser General Public
  License as published by the Free Software Foundation; either
  version 2.1 of the License, or (at your option) any later version.

  This library is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  Lesser General Public License for more details.

  You should have received a copy of the GNU Lesser General
  Public License along with this library; if not, write to the
  Free Software Foundation, Inc., 59 Temple Place, Suite 330,
  Boston, MA  02111-1307  USA

  Modified 28 September 2010 by Mark Sproul

  $Id: wiring.c 248 2007-02-03 15:36:30Z mellis $
*/

#include "wiring_private.h"
#include "pins_arduino.h"

uint8_t analog_resbit = 0;
uint8_t analog_resdir = 0;
uint8_t analog_reference = DEFAULT;

#if defined(__LGT8F__)
void analogReadResolution(uint8_t res)
{
	if(res > 16) res = 16;

	if(res > 12) {
		analog_resbit = res - 12;
		analog_resdir = 0;
	} else {
		analog_resbit = 12 - res;
		analog_resdir = 1;
	}	
}
#endif

void analogReference(uint8_t mode)
{
	// can't actually set the register here because the default setting
	// will connect AVCC and the AREF pin, which would cause a short if
	// there's something connected to AREF.
	analog_reference = mode;

#if defined(__LGT8FX8E__) || defined(__LGT8FX8P__)
	#if defined(__LGT8FX8E__)
	if(analog_reference == INTERNAL2V56) {
		VCAL = VCAL2;
	} else {
		VCAL = VCAL1;
	}
	#else
	// set analog reference for ADC/DAC
	if(analog_reference == EXTERNAL) {
		DACON = (DACON & 0x0C) | 0x1;
		if((PMX2 & 0x2) == 0x2) {
			GPIOR0 = PMX2 & 0xfd;
			PMX2 = 0x80; 
			PMX2 = GPIOR0;
		}
	} else if(analog_reference == DEFAULT) {
		DACON &= 0x0C;
	} else {
		DACON = (DACON & 0x0C) | 0x2;
		cbi(ADCSRD, REFS2);
		if(analog_reference == INTERNAL2V048) {
			VCAL = VCAL2;	// 2.048V
		} else if(analog_reference == INTERNAL4V096) {
			sbi(ADCSRD, REFS2);
			VCAL = VCAL3;	// 4.096V
		} else	{
			VCAL = VCAL1;	// 1.024V
		}
	}
	#endif

	ADMUX = (analog_reference << 6);
#endif
}

static uint16_t adcRead()
{
	volatile uint8_t tmp = 0;

	// start the conversion
	sbi(ADCSRA, ADSC);

	// ADSC is cleared when the conversion finishes
	while (bit_is_set(ADCSRA, ADSC));

	// read low byte firstly to cause high byte lock.
	tmp = ADCL;

	return (ADCH << 8) | tmp;
}

int __analogRead(uint8_t pin)
{
	uint16_t pVal;
#if defined(__LGT8FX8P__)
	uint16_t nVal;
	
	// enable/disable internal 1/5VCC channel
	ADCSRD &= 0xf0;
	if(pin == V5D1 || pin == V5D4) { 
		ADCSRD |= 0x06;
	}	
#endif

#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__)
	if (pin >= 54) pin -= 54; // allow for channel or pin numbers
#elif defined(__AVR_ATmega32U4__)
	if (pin >= 18) pin -= 18; // allow for channel or pin numbers
#elif defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__) || defined(__AVR_ATmega644__) || defined(__AVR_ATmega644A__) || defined(__AVR_ATmega644P__) || defined(__AVR_ATmega644PA__)
	if (pin >= 24) pin -= 24; // allow for channel or pin numbers
#elif defined(analogPinToChannel) && (defined(__AVR_ATtiny25__) || defined(__AVR_ATtiny45__) || defined(__AVR_ATtiny85__))
	pin = analogPinToChannel(pin);
#else
	if (pin >= 14) pin -= 14; // allow for channel or pin numbers
#endif

#if defined(__AVR_ATmega32U4__)
	pin = analogPinToChannel(pin);
	ADCSRB = (ADCSRB & ~(1 << MUX5)) | (((pin >> 3) & 0x01) << MUX5);
#elif defined(ADCSRB) && defined(MUX5)
	// the MUX5 bit of ADCSRB selects whether we're reading from channels
	// 0 to 7 (MUX5 low) or 8 to 15 (MUX5 high).
	ADCSRB = (ADCSRB & ~(1 << MUX5)) | (((pin >> 3) & 0x01) << MUX5);
#endif
  
	// set the analog reference (high two bits of ADMUX) and select the
	// channel (low 4 bits).  this also sets ADLAR (left-adjust result)
	// to 0 (the default).
#if defined(ADMUX)
	ADMUX = (analog_reference << 6) | (pin & 0x1f);
#endif

	// without a delay, we seem to read from the wrong channel
	//delay(1);

#if defined(ADCSRA) && defined(ADCL)
	#if defined(__LGT8FX8P__)
	sbi(ADCSRC, SPN);
	nVal = adcRead();
	cbi(ADCSRC, SPN);
	#endif
	
	pVal = adcRead();

	#if defined(__LGT8FX8P__)
	pVal = (pVal + nVal) >> 1;
	#endif
#else
	// we dont have an ADC, return 0
	pVal = 0;
#endif

	// gain-error correction
#if defined(__LGT8FX8E__)
	pVal -= (pVal >> 5);
#elif defined(__LGT8FX8P__)
	pVal -= (pVal >> 7);
#endif
	// standard device from atmel
	return pVal;
}

int analogRead(uint8_t pin)
{
#if defined(__LGT8F__)
	if(analog_resbit == 0)
		return __analogRead(pin);

	if(analog_resdir == 1) {
		return __analogRead(pin) >> analog_resbit;
	} else {
		return __analogRead(pin) << analog_resbit;
	}
#else
	return __analogRead(pin);
#endif
	
}

// Right now, PWM output only works on the pins with
// hardware support.  These are defined in the appropriate
// pins_*.c file.  For the rest of the pins, we default
// to digital output.

void analogWrite(uint8_t pin, int val)
{
	// We need to make sure the PWM output is enabled for those pins
	// that support it, as we turn it off when digitally reading or
	// writing with them.  Also, make sure the pin is in output mode
	// for consistenty with Wiring, which doesn't require a pinMode
	// call for the analog output pins.
	
	if(LGT_NOT_DACO(pin)) {
		pinMode(pin, OUTPUT);
	}

	if (val == 0 && LGT_NOT_DACO(pin)) {
		digitalWrite(pin, LOW);
	} else if (val == 255 && LGT_NOT_DACO(pin)) {
		digitalWrite(pin, HIGH);
	} else {
		switch(digitalPinToTimer(pin)) {
			// XXX fix needed for atmega8
			#if defined(TCCR0) && defined(COM00) && !defined(__AVR_ATmega8__)
			case TIMER0A:
				// connect pwm to pin on timer 0
				sbi(TCCR0, COM00);
				OCR0 = val; // set pwm duty
				break;
			#endif

			#if defined(TCCR0A) && defined(COM0A1)
			case TIMER0A:
				// connect pwm to pin on timer 0, channel A
				sbi(TCCR0A, COM0A1);
				OCR0A = val; // set pwm duty
				break;
			#endif

			#if defined(TCCR0A) && defined(COM0B1)
			case TIMER0B:
				// connect pwm to pin on timer 0, channel B
				sbi(TCCR0A, COM0B1);
				OCR0B = val; // set pwm duty
				break;
			#endif

			#if defined(TCCR1A) && defined(COM1A1)
			case TIMER1A:
				// connect pwm to pin on timer 1, channel A
				sbi(TCCR1A, COM1A1);
				OCR1A = val; // set pwm duty
				break;
			#endif

			#if defined(TCCR1A) && defined(COM1B1)
			case TIMER1B:
				// connect pwm to pin on timer 1, channel B
				sbi(TCCR1A, COM1B1);
				OCR1B = val; // set pwm duty
				break;
			#endif

			#if defined(TCCR2) && defined(COM21)
			case TIMER2:
				// connect pwm to pin on timer 2
				sbi(TCCR2, COM21);
				OCR2 = val; // set pwm duty
				break;
			#endif

			#if defined(TCCR2A) && defined(COM2A1)
			case TIMER2A:
				// connect pwm to pin on timer 2, channel A
				sbi(TCCR2A, COM2A1);
				OCR2A = val; // set pwm duty
				break;
			#endif

			#if defined(TCCR2A) && defined(COM2B1)
			case TIMER2B:
				// connect pwm to pin on timer 2, channel B
				sbi(TCCR2A, COM2B1);
				OCR2B = val; // set pwm duty
				break;
			#endif

			#if defined(TCCR3A) && defined(COM3A1)
			case TIMER3A:
				// connect pwm to pin on timer 3, channel A
				sbi(TCCR3A, COM3A1);
				OCR3A = val; // set pwm duty
				break;
			#endif

			#if defined(TCCR3A) && defined(COM3B1)
			case TIMER3B:
				// connect pwm to pin on timer 3, channel B
				sbi(TCCR3A, COM3B1);
				OCR3B = val; // set pwm duty
				break;
			#endif

			#if defined(TCCR3A) && defined(COM3C1)
			case TIMER3C:
				// connect pwm to pin on timer 3, channel C
				sbi(TCCR3A, COM3C1);
				OCR3C = val; // set pwm duty
				break;
			#endif

			#if defined(TCCR4A)
			case TIMER4A:
				//connect pwm to pin on timer 4, channel A
				sbi(TCCR4A, COM4A1);
				#if defined(COM4A0)		// only used on 32U4
				cbi(TCCR4A, COM4A0);
				#endif
				OCR4A = val;	// set pwm duty
				break;
			#endif
			
			#if defined(TCCR4A) && defined(COM4B1)
			case TIMER4B:
				// connect pwm to pin on timer 4, channel B
				sbi(TCCR4A, COM4B1);
				OCR4B = val; // set pwm duty
				break;
			#endif

			#if defined(TCCR4A) && defined(COM4C1)
			case TIMER4C:
				// connect pwm to pin on timer 4, channel C
				sbi(TCCR4A, COM4C1);
				OCR4C = val; // set pwm duty
				break;
			#endif
				
			#if defined(TCCR4C) && defined(COM4D1)
			case TIMER4D:				
				// connect pwm to pin on timer 4, channel D
				sbi(TCCR4C, COM4D1);
				#if defined(COM4D0)		// only used on 32U4
				cbi(TCCR4C, COM4D0);
				#endif
				OCR4D = val;	// set pwm duty
				break;
			#endif

							
			#if defined(TCCR5A) && defined(COM5A1)
			case TIMER5A:
				// connect pwm to pin on timer 5, channel A
				sbi(TCCR5A, COM5A1);
				OCR5A = val; // set pwm duty
				break;
			#endif

			#if defined(TCCR5A) && defined(COM5B1)
			case TIMER5B:
				// connect pwm to pin on timer 5, channel B
				sbi(TCCR5A, COM5B1);
				OCR5B = val; // set pwm duty
				break;
			#endif

			#if defined(TCCR5A) && defined(COM5C1)
			case TIMER5C:
				// connect pwm to pin on timer 5, channel C
				sbi(TCCR5A, COM5C1);
				OCR5C = val; // set pwm duty
				break;
			#endif
			#if defined(__LGT8FX8E__) || defined(__LGT8FX8P__)
			case LGTDAO0:
				DAL0 = val; 
				break;
			#endif
			#if defined(__LGT8FX8E__)
			case LGTDAO1:
				DAL1 = val;
				break;
			#endif
			case NOT_ON_TIMER:
			default:
				if (val < 128) {
					digitalWrite(pin, LOW);
				} else {
					digitalWrite(pin, HIGH);
				}
		}
	}
}

получается :

INTERNAL2V56            // 2.56V
INTERNAL2V048    // 2.048V
INTERNAL4V096    // 4.096V
VCAL = VCAL1;            // 1.024V


а еще тут есть   analogReadResolution(uint8_t res)  hmm

Неактивний

#119 2018-07-09 21:50:43

Вячеслав Азаров
Учасник
Зареєстрований: 2017-05-25
Повідомлень: 1,732

Re: Помогите запустить WeMos XI

Тоньше не бывает, того и гляди лопнет. У LGT8F88 так  я написал. А на LGT8F328G нет документов даже на сайте производителя. Отака дешева рибка.

Неактивний

#120 2018-07-09 22:04:05

renoshnik
Учасник
Зареєстрований: 2017-04-03
Повідомлень: 1,025

Re: Помогите запустить WeMos XI

Вячеслав Азаров пише:

Тоньше не бывает, того и гляди лопнет. У LGT8F88 так  я написал. А на LGT8F328G нет документов даже на сайте производителя. Отака дешева рибка.

http://www.logicgreen.io/upload/lgt8fx8 … v1.0.4.pdf

Неактивний

#121 2018-07-09 22:43:30

Вячеслав Азаров
Учасник
Зареєстрований: 2017-05-25
Повідомлень: 1,732

Re: Помогите запустить WeMos XI

renoshnik пише:
Вячеслав Азаров пише:

Тоньше не бывает, того и гляди лопнет. У LGT8F88 так  я написал. А на LGT8F328G нет документов даже на сайте производителя. Отака дешева рибка.

http://www.logicgreen.io/upload/lgt8fx8 … v1.0.4.pdf

Я его не нашел поисковиком, а по китайски я не читаю. Судя по картинкам вещь очень передовая. Только очень плохо читать. Три опорника - круто! Нужно электрические характеристики посмотреть, что-бы судить об этом. Да поработать, с ними,  пол годика.

Неактивний

#122 2018-07-09 23:24:07

LynX
Учасник
Зареєстрований: 2018-04-19
Повідомлень: 71

Re: Помогите запустить WeMos XI

Я так, мимо проходил, напомнило мне ESP32 - при первом взгляде одни "Вау". А после первого опыта работы "да ну нифиг". Написано одно, а на деле половина не работает.

renoshnik пише:

Кто-то может объяснить эту странность с питанием при заливке скетча ?

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

Неактивний

#123 2018-07-10 06:51:53

renoshnik
Учасник
Зареєстрований: 2017-04-03
Повідомлень: 1,025

Re: Помогите запустить WeMos XI

LynX пише:
renoshnik пише:

Кто-то может объяснить эту странность с питанием при заливке скетча ?

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

Вот это и настораживает...  Если МК работает при питании 5 Вольт, (проверял "блинк" и "аналог рид") то как будет в скетчах с записью/чтением ЕЕПРОМ... ?
Нужно поэкспериментировть....

АЦП по моему действительно = 12 !!!  smile

Неактивний

#124 2018-07-10 13:09:46

renoshnik
Учасник
Зареєстрований: 2017-04-03
Повідомлень: 1,025

Re: Помогите запустить WeMos XI

Купил кварц 32 МГц, завтра впаяю и попробую...  smile

Неактивний

#125 2018-07-10 15:05:12

Green
Учасник
Зареєстрований: 2015-11-08
Повідомлень: 593

Re: Помогите запустить WeMos XI

Главное не забыть изменить фьюзы.) Которых нет.))
Ничего не даст. При сбросе ВСЕГДА работает встроенный 32 мгц генератор.
Только если переписать загрузчик.(

Неактивний

Швидке повідомлення

Введіть повідомлення і натисніть Надіслати

Підвал форуму