12F675 yazılımsal uart yapan var mı?

Başlatan ayhani, 27 Ocak 2015, 13:36:55

ayhani

Arkadaşlar 8 bacakli piclerde rx-tx pinleri olmadigi icin yazilimsal uart yaptim. Devre isiste sorunsuz gibi gorunuyor Fakat gercekte yaptigim olcumde baud rate hatali. Mesela 9600 ayarladigim uart 9400lerde. Baudu dusursemde sorun devam ediyor. Hem dahili hem de harici osc ile denedim. Programi flowcode ile yaptim. Acaba 12f675 ile yazilimsal uarti sorunsuz çalıştıran varmı? Varsa sorun flowcodedaki bir bugdan kaynaklanıyor diye düşüneceğim.
En iyi bildiğim şey hiçbir şey bilmediğimdir.

mehmet

Olan olmuştur,
olacak olan da olmuştur.
Olacak bir şey yoktur.
---------------------------------------------
http://www.mehmetbilgi.net.tr
https://creativecommons.org/licenses/by/4.0/deed.tr "CC BY"

sadogan


digi_micro

Sorun 12f675 in dahili osilatöründen kaynaklanıyor. Aşağıdaki kodu picbasic ile derleyip kullandığınız 12f675 e yükleyin.
Devrenizi PC ye bağlayıp br terminal programında izleyin SET degeri? terminal programında  okunduğunda önündeki hex değeri
asıl yazdığınız programın tanımlama kısmına OSCCAL = $35 gibi girin sorun çözülecektir .
Acilen yazdım kusura bakmayın..

  
Device 12F675

Xtal = 4
Reminders = FALSE
Config CPD_OFF,CP_on ,BODEN_OFF ,MCLRE_OFF ,PWRTE_ON ,WDT_OFF ,INTRC_OSC_NOCLKOUT
Reminders = TRUE

TXX Var GPIO.1  ' RS232 TX pin

   ANSEL = 0    ' disable A/D converter
   CMCON = 7    ' disable comparators
   OSCCAL = 0   ' starting value for OSCCAL register

   DelayMS 200  ' 

mainloop:
   OSCCAL = OSCCAL + $5     ' calibration değeri artır

   ' Doğru çalışırsa aşağıdaki değerler PC terminalde görünecek 
   Serout2 TXX,16468,[Hex2 OSCCAL, "   SET degeri?"] 'hex değer 
        
   DelayMS 200       
   GoTo mainloop   

   End

ayhani

#4
Cevaplar icin  tesekkurler.

mesaj birleştirme:: 28 Ocak 2015, 12:36:07

Alıntı yapılan: sadogan - 27 Ocak 2015, 17:44:03
12f683 de uart olmasl lazIm


Buyuk bir hevesle baktım ama maalesef yokmuş

mesaj birleştirme:: 27 Ocak 2015, 20:37:06

Alıntı yapılan: digi_micro - 27 Ocak 2015, 18:21:24
Sorun 12f675 in dahili osilatöründen kaynaklanıyor. Aşağıdaki kodu picbasic ile derleyip kullandığınız 12f675 e yükleyin.
Devrenizi PC ye bağlayıp br terminal programında izleyin SET degeri? terminal programında  okunduğunda önündeki hex değeri
asıl yazdığınız programın tanımlama kısmına OSCCAL = $35 gibi girin sorun çözülecektir .
Acilen yazdım kusura bakmayın..

  
Device 12F675

Xtal = 4
Reminders = FALSE
Config CPD_OFF,CP_on ,BODEN_OFF ,MCLRE_OFF ,PWRTE_ON ,WDT_OFF ,INTRC_OSC_NOCLKOUT
Reminders = TRUE

TXX Var GPIO.1  ' RS232 TX pin

   ANSEL = 0    ' disable A/D converter
   CMCON = 7    ' disable comparators
   OSCCAL = 0   ' starting value for OSCCAL register

   DelayMS 200  ' 

mainloop:
   OSCCAL = OSCCAL + $5     ' calibration değeri artır

   ' Doğru çalışırsa aşağıdaki değerler PC terminalde görünecek 
   Serout2 TXX,16468,[Hex2 OSCCAL, "   SET degeri?"] 'hex değer 
        
   DelayMS 200       
   GoTo mainloop   

   End

Hocam ne kusuru. Zahmet edip kod hazmışsın. Teşekkür ederim.
En iyi bildiğim şey hiçbir şey bilmediğimdir.

vitruvius

Alternatif bir pic arıyorsanız 8 bacaklılardan 12F1822, 12F1840 ve 12F1572'de uart var. 12F1822 direnc.net'te bulunuyor.

Kolay gelsin.

sadogan

Alıntı yapılan: ayhani - 27 Ocak 2015, 20:33:18
Buyuk bir hevesle baktım ama maalesef yokmuş
PWM le karıştırdım sanırım 12f683 pwm var.
@vitruvius da belirtigi gibi uart yeni nesil 12f1822 40 var.

ayhani

Alıntı yapılan: vitruvius - 27 Ocak 2015, 22:09:15
Alternatif bir pic arıyorsanız 8 bacaklılardan 12F1822, 12F1840 ve 12F1572'de uart var. 12F1822 direnc.net'te bulunuyor.

Kolay gelsin.

Ahh süper. Hocam teşekkürler. Benim nasıl dikkatimden kaçmış. Çok sağol.
En iyi bildiğim şey hiçbir şey bilmediğimdir.