Stm32f4 -USART-TIMER hakkında

Başlatan okg, 08 Eylül 2016, 21:58:11

okg

Arkadaşlar merhaba,

Oluşturduğum arayüzde fotoğrafı şekildeki gibi bit bit seri port üzerinden gönderiyorum.




Alıcı tarafta ise rxne kesmesi kullanıp 3 farklı şekilde (deneme 3 hayali kahramandır) gelen 1 ve 0 bilgisine göre daha önceden TIM3 ile oluşturduğum pwm değeri çıkış olarak veriliyor(verilmesi lazım)




usart üzerinden "1" geldiği zaman TIM3->CCR1 = 1
usart üzerinden "0" geldiği zaman TIM3->CCR1 = 4500

default değer olarak da  TIM3->CCR1 = 2500  olarak belirledim.

Buradaki amaç alıcı tarafta(fotodiyot ile led parlaklığı algılanıyor) eşik değerinin üzeri 1 altı ise 0 bitinin geldiğini kestirebilmek.

Probleme gelecek olursak;

► C# tarafında tek renk fotoğraf(herhangi bir renk) gönderince usart üzerinden veriler düzgünce gidiyor ancak tek renk olmayan fotoğrafı gönderince sonsuza kadar veri gönderimi devam ediyor

► Tek renk fotoğraf gönderdiğim zaman ve stm32f4 kartı veri gönderme işlemi bitince TIM3->CCR degeri son bit 0 ise 4500, 1 ise 1 de kalıyor ancak default a döndürmem gerekiyor.(int main fonksiyonu içerisinde default ayar yazılı)

► Ayrıca kullandığım led üzerinde usarttan gelen veri hızı kadar hızlı pwm değişimi yapamıyorum, serialportWrite fonksiyonu sonrası baya bekleme koymama rağmen pwm değeri kaliteli bir şekilde değişmiyor.

KTU Elektronik Haberleşme - YTÜ Haberşelme YL - GTU Haberleşme YL

elektronikDelisi

C# tarafında for döngüsü ile yapacağınıza byte paketini göndermeniz yaşadığınız problemi çözmez ama yardımcı olur.

Serialport.Write(bytes,offset,length)
aramızda bir elektrik var..