0 beğenilme 0 beğenilmeme
56 kez görüntülendi
microPython kategorisinde (3,650 puan) tarafından
from machine import Timer,Pin
import time


led = Pin(2, Pin.OUT)
led.off()
tim = Timer(-1)

def leds(self):

    while (True):
        led.off()
        time.sleep(0.5)
        led.on()
        time.sleep(0.5)


tim.init(period=10000, mode=Timer.PERIODIC, callback=leds)

Yukarıdaki kodu birkez gönderdiğimde tekrar bir değişiklik yapmak istediğim zaman erişemiyorum. LedBlink Yada Pwm Çalışmasında Problem Olmuyor.

3 Cevaplar

0 beğenilme 0 beğenilmeme
(980 puan) tarafından

While dongulu durumlarda benim de başıma gelmişti. Bu durumu aşmak icin ide de Stop tusuna basıyorum ondan sonra programda duzenleme yapıp run tusu ile yeniden çalıştırıyorum.
Kullandığım ide Thonny
Pycharm da nasıldır bilmiyorum.

(3,650 puan) tarafından

hocam pycharm ampy kullanarak dosyayı gönderiyor sadece anladığım kadarıyla.

(980 puan) tarafından

Olabilir hocam.
İsterseniz bir ara Thonny ide yi deneyin. Biraz nazlı dır.
Esp8266 ve Esp32 secenegi var menuden seciyorsunuz hangi kartı kullanacaksanız

Bu ide ile esp ye *. Bin dosyası da yukleyebiliyorsunuz

0 beğenilme 0 beğenilmeme
(2,630 puan) tarafından

Bu şekilde sorun yok. Her 10sn. de işini yapıyor.

from machine import Timer,Pin
import time

led = Pin(2, Pin.OUT)
led.off()
tim = Timer(-1)

def leds(self):
    while (True):
        led.off()
        time.sleep(0.5)
        led.on()
        time.sleep(0.5)
        break

tim.init(period=10000, mode=Timer.PERIODIC, callback=leds)
(3,650 puan) tarafından
    Connecting to /dev/ttyUSB0
Uploading files: 0% (0/1)
/media/kaplan/21506d48-3e9b-41b7-ac8c-dda6cd8ab549/PythonPycharmProjects/mpTimer/main.py -> main.py
Traceback (most recent call last):
  File "/home/kaplan/.PyCharmCE2019.3/config/plugins/intellij-micropython/scripts/microupload.py", line 138, in <module>
    main(sys.argv[1:])
  File "/home/kaplan/.PyCharmCE2019.3/config/plugins/intellij-micropython/scripts/microupload.py", line 79, in main
    files.put(remote_path, fd.read())
  File "/home/kaplan/anaconda3/lib/python3.7/site-packages/ampy/files.py", line 209, in put
    self._pyboard.exec_("f = open('{0}', 'wb')".format(filename))
  File "/home/kaplan/anaconda3/lib/python3.7/site-packages/ampy/pyboard.py", line 265, in exec_
    ret, ret_err = self.exec_raw(command)
  File "/home/kaplan/anaconda3/lib/python3.7/site-packages/ampy/pyboard.py", line 256, in exec_raw
    self.exec_raw_no_follow(command);
  File "/home/kaplan/anaconda3/lib/python3.7/site-packages/ampy/pyboard.py", line 253, in exec_raw_no_follow
    raise PyboardError('could not exec command')
ampy.pyboard.PyboardError: could not exec command

ilkkez yaptığımda problem yok. Ama tekrar aynı kodu göndermeye çalıştığımda yukarıdaki hatayı alıyorum.

(3,650 puan) tarafından
(2,630 puan) tarafından

ESPlorer ile "break" ekledikten sonra
bir kaç kez yolladım. Sorun çıkarmadı.

(3,650 puan) tarafından

Aşağıdaki Kodları İstediğim Kadar Gönderebiliyorum. Acaba Timer Bir şekilde Programlama Pinlerini mi Etkiliyor acaba

  from machine import Pin,PWM,Timer
    import time
    import math

    class TestClass:
        def __init__(self):
            self.leds(0.1)
        def pwms(self):
            led = PWM(Pin(2), freq=100)
            t=50
            for i in range(200):
                led.duty(int(math.sin(i / 10 * math.pi) * 500 + 500))
                time.sleep_ms(t)
            led.deinit()

        def leds(self, interval=0.2):
            led = Pin(2, Pin.OUT)
            led.off()
            for i in range(10):
                led.off()
                time.sleep(interval)
                led.on()
                time.sleep(interval)


    mytest=TestClass()
    mytest.pwms()
(2,630 puan) tarafından

Timer açıklamasında RTOS olarak kullanıldığı
yazıyordu yanlış hatırlamıyorsam. Etkiliyordur
belki...

(3,650 puan) tarafından

Çevresel ünitelerin sayısını hangi pinleri kullanabileceğimi yazan bir doküman var mı acaba ?

(3,650 puan) tarafından

GPIO2 led e bağlıymış, TX1 e orada ?

resim1

0 beğenilme 0 beğenilmeme
(2,630 puan) tarafından

İki farklı iş...

import machine
import time

machine.freq(160000000)

pinler = {16, 5, 4, 0, 2, 14, 12}

for i in pinler:
    machine.Pin(i, machine.Pin.OUT)
    machine.Pin(i).value(0)

l1 = machine.Pin(12, machine.Pin.OUT)
l2 = machine.Pin(14, machine.Pin.OUT)

def mb1():
    if(l1.value()):
        l1.off()
    else:
        l1.on()

tim = machine.Timer(-1)
tim.init(period=200, mode=machine.Timer.PERIODIC, callback=lambda t:mb1())

s = 10

try:

    while(s):
        l2.on()
        time.sleep(1)
        l2.off()
        time.sleep(1)
        print(s)
        s -= 1
except(KeyboardInterrupt):
    tim.init(callback=None)
    l1.off()
    l2.off()
    tim.deinit()
(3,650 puan) tarafından

Kodları ampy ile manuel yöntemlerle (terminalden) gönderince ve ampy get ile görmek istediğimizde aşağıdaki gibi

import machine
import time

machine.freq(160000000)

pinler = {16, 5, 4, 0, 2, 14, 12}

for i in pinler:
    machine.Pin(i, machine.Pin.OUT)
    machine.Pin(i).value(0)

l1 = machine.Pin(12, machine.Pin.OUT)
l2 = machine.Pin(14, machine.Pin.OUT)

def mb1():
    if(l1.value()):
        l1.off()
    else:
        l1.on()

tim = machine.Timer(-1)
tim.init(period=200, mode=machine.Timer.PERIODIC, callback=lambda t:mb1())

s = 10

try:

    while(s):
        l2.on()
        time.sleep(1)
        l2.off()
        time.sleep(1)
        print(s)
        s -= 1
except(KeyboardInterrupt):
    tim.init(callback=None)
    l1.off()
    l2.off()
    tim.deinit()

pycharm,Esploler,web ile gönderip ampy get ile görmek istediğimizde Aşağıdaki şekilde görünüyor. Sanki editörlerle gönderince problemli gönderiyor.

import machineimport timemachine.freq(160000000)pinler = {16, 5, 4, 0, 2, 14, 12}for z in pinler:    machine.Pin(z, machine.Pin.OUT)    machine.Pin(z).value(0)def mb1():    if(l1.value()):        l1.off()    else:        l1.on()tim = machine.Timer(-1)tim.init(period=200, mode=machine.Timer.PERIODIC, callback=lambda t:mb1())s = 10try:    while(s):        l2.on()        time.sleep(1)        l2.off()        time.sleep(1)        print(s)        s -= 1except(KeyboardInterrupt):    tim.init(callback=None)    l1.off()    l2.off()    tim.deinit()
(3,650 puan) tarafından

@Mehmet Hocam yukarıda verdiğim linkte boot.py dosyasında değişiklik yapıyor, neden ?

(2,630 puan) tarafından

Debug özelliğini açıyor. Ancak dikkat ederseniz
eski versiyon.
Repl ekranında deneme yaparken lüzumsuz
bilgiler çıkabilir.

Bu arada 2Mbitlik firmware yükledim. Ama
başarılı olmadı. STM32F4Disco daki gibi
flash alanın disk gibi görüleceği yazıyor.

...