Neden burada HAL_ADC_Stop() kodunu kullanmadık? Bir de neden HAL_ADC_Start() 'ı neden main içerisinde yazdık ilk yaptığınız hal örneğinde void Read_ADC altında yazıyorduk. Kodu öyle yazmayı denediğimde stm studio da yanlış değerler okudum acaba nedeni nedir main içinde yazmanızın neye göre yazıyoruz cevap verirseniz sevinirim.
ADC fonksiyonu while icinde oldugundan sonsuz defa cagiriliyor. Start fonksiyonunu adc icine yazarsanız sonsuz defa start etmiş olursunuz gereksiz yere. Main içinde bir kez start etmek bizim için yeterli. Fakat dediğiniz gibi Stop komutu ile kullanılınca hata veriyor. Bunun sebebinin 2 farklı adc'den veri okumamız olduğunu düşünmekle beraber net bir fikrim yok.
(Bir sorum var hocam konudan bağımsız) A portundan alınan 16 bitlik bir değerin en değerlikli 8 biti ile en değerliksiz 8 bitini karşılaştırınız. Eşit olması durumunda en değerlikli ve en değerliksiz 8 biti yer değiştirerek B portuna veriniz. A portundan 16 bitlik veri nasıl alınır hocam
Hocam elinize sağlık. SPI ve kartın üzerinde ki ivme sensörünün kullanımı ile ilgili video yapacak mısınız?
Evet yapacağım inşallah, aynı zamanda i2c üzerinden adxl345 sensörünü de ayrıca kullanacağım, derslerin sırası geldiğinde inşallah.
@ hocam elinize sağlık ivme sensörü ne zaman gelir beklemedeyiz
@@mehmetalicoban2127 Merhaba o kisiimler udemy de kaldı, her konu udemy de işleniyor artık
(count =0 iken) adc_value[1] degeri ile nasıl vdda hesaplanıyor 17.52'de
Hocam merhaba, bir sorum olacaktı. ADClerden okuduğum değerleri programi çalıştırınca STMstudioda virgülden sonra 2 basamak olacak şekilde düzenlemek istiyorum. Kodlamada C’de kullandığımız %5.2f komutunu kullanamıyoruz bunun alternatifi nedir bilgilendirirseniz teşekkür ederim
Kesinlikle merak ediyorum. zira Vdda= (float) *(*VREF_CAL)/adc_value[1] yazdığımızda parantez içindeki floatı eklemezsek Vdda yı hesaplayamıyoruz. Yukarıda Vdda yı float tanımlamamıza rağmen.
Neden burada HAL_ADC_Stop() kodunu kullanmadık? Bir de neden HAL_ADC_Start() 'ı neden main içerisinde yazdık ilk yaptığınız hal örneğinde void Read_ADC altında yazıyorduk. Kodu öyle yazmayı denediğimde stm studio da yanlış değerler okudum acaba nedeni nedir main içinde yazmanızın neye göre yazıyoruz cevap verirseniz sevinirim.
ADC fonksiyonu while icinde oldugundan sonsuz defa cagiriliyor. Start fonksiyonunu adc icine yazarsanız sonsuz defa start etmiş olursunuz gereksiz yere. Main içinde bir kez start etmek bizim için yeterli. Fakat dediğiniz gibi Stop komutu ile kullanılınca hata veriyor. Bunun sebebinin 2 farklı adc'den veri okumamız olduğunu düşünmekle beraber net bir fikrim yok.
(Bir sorum var hocam konudan bağımsız)
A portundan alınan 16 bitlik bir değerin en değerlikli 8 biti ile en değerliksiz 8 bitini karşılaştırınız.
Eşit olması durumunda en değerlikli ve en değerliksiz 8 biti yer değiştirerek B portuna veriniz.
A portundan 16 bitlik veri nasıl alınır hocam
hocam merhaba, Ac gerilimin rms değerini nasıl alabilirim acaba
Vdda= (float) 3.3 * (*VREFIN_CAL) / adc_value[1]) ; bu kod kısmında hata veriyor hocam Program sürüm farkından dolayımı acaba :(
Sorunu çözdünüz mü ben da aynı hatayı alıyorum
@@ibrahimokmen6216 Hocam parantez hatasından dolayı alıyormuşum baya bi süre inceledikten sonra farkettim