Etkilesimli STM32 USB CDC ve Ring Buffer#
Bu laboratuvar, `USB CDC` haberlesmesini yalnizca "terminal acildi, veri geldi" seviyesinde degil; `RX callback`, `ring buffer`, `line framing`, `parser budget` ve `overflow` arasindaki gercek bag olarak gorunur kilar. Hedef, host'tan gelen veri patlamalarinda neden callback'in hafif kalmasi gerektigini ve neden parser'in task seviyesinde, kontrollu bir `ring buffer` akisi uzerinden calistirilmasinin daha dayanikli oldugunu sezgisel hale getirmektir.
Bu Derste Ne Oturmali?#
USB CDC RX callback, veri kopyalama ve yenidenReceivehazirlama gibi hafif isler icin iyidir; parser’in tamamini callback icine yigmamak gerekir.Ring buffer, host patlamalari ile uygulama parser hizi arasinda tampon gorevi gorur; kucuk secilirse byte kaybi, gereksiz buyuk secilirse gizli gecikme artabilir.Line framing, komut tabanli sistemlerde temizdir; amanewlinegec gelirse parser bir sure hicbir sey uretmeyebilir ve backlog siser.Dogru USB CDC tasarimi sadece
printfatmak degil; gelen veri profiline, parser ritmine ve buffer geri basincina birlikte bakmaktir.
Not
Bir sonraki dogal laboratuvarlar reset reason + backup registers, stream buffer / message buffer, FDCAN + mailbox ya da USB CDC + DMA / double buffer olabilir.