STM32 / USB I/O Laboratuvari

USB CDC burst akisini, ring buffer dolusunu ve parser geri basincini izle.

Bu demo, host'tan gelen USB CDC verisinin niye bazen temiz aktigini, bazen de terminal "aynisi ama daha cok veri" dedigi anda cildirabildigini gosterir. Burada ana fikir, `CDC_Receive_FS` icinde sadece veriyi tamponlayip hizlica geri donmek; asil parser'i ise task seviyesinde, kontrollu bir `ring buffer` uzerinden calistirmaktir.

Akis Ayarlari

Trafik, tampon ve parser davranisini birlikte kur

USB callback hizli olursa host burst'u kayipsiz tamponlama sansin artar. Ring buffer, RX hizi ile parser hizi arasinda amortisor gorevi gorur. `newline` gec gelirse line parser backlog biriktirebilir. Dogru parser ritmi backlog'u dusurur, komutlari duzgun tamamlar.

Sonuc Ozeti

Kayip byte, backlog ve parser verimi birlikte okunur
0 Toplam gelen byte
0 Overflow nedeniyle dusen byte
0 Tamamlanan komut / chunk
0 Maksimum doluluk
0 Simulasyon sonunda kalan backlog
- Genel davranis
Teshis

Parser Notu

Neden callback hafif tutulmali?

USB callback icinde butun parser'i kosmak kisa vadede "tek yerde bitsin" hissi verir. Ama burst geldiginde hem ISR suresi uzar hem de veri yonetimini zorlastirir. Ring buffer, host ile parser arasinda nefes aldiran katmandir.

Gelen ornek: -
Parser cikisi: -
Ring durumu: -

Zaman Cizelgesi

USB RX, ring doluluk, parser ve uygulama akislarini birlikte oku

HAL Iskeleti

Callback, ring yazma ve task parser deseni

          

Mini Quiz

CDC callback icinde ne kadar is yapmali?

USB CDC verisini alirken en saglikli desen hangisidir?

Bir secenek tikla; aciklama burada goreceksin.