czorgormez
Temporary user
- Katılım
- 27 Ekim 2022
- Mesajlar
- 1,386
Claude Sonnet 3.5 yapay zekayı gömülü yazılım alanında denemek istedim.
Zaman aralıklarıyla kodlanmış bir bit dizisinin osiloskop ekran görüntüsünü verdim ve hangi bitlerin ne anlama geldiğini de yazılı olarak ilettim. Ekran görüntüsünü hexadecimal olarak decode etmesini istedim. çözünürlüğü pek beğenmedi. daha iyi anlaması için mesajı ikiye bölerek daha detay görüntü ilettim. İlk denemede tam başaramadı, ancak adım adım hatalarını açıklayınca anladı ve düzeltti. Olayın mantığını kavradı.
Ardından, bir mikrokontrolcü kullanarak bu bit dizisini MCU'ya almasını, bunu da interrupt ile işlemciyi meşgul etmeden yapmasını ve bitlerin zaman aralıklarını mikro saniye çözünürlükte timer ile okumasını istedim. Ayrıca, bir timeout ekleyerek bitler belli bir süreyi aşarsa sıfırdan başlamasını gerektiğini belirttim. gelen her 8 bitin ardından bir de parity biti geliyor ve bunu görmezden gelmesini istedim. Bu aşamaya kadar kodu doğru yazdı ve güzel toparladı.
Ancak, bitleri alırken veya yorumlarken bir hata yapıyordu. Beklenen ve hatalı veriyi birkaç kez vererek hatasını düzeltmesini istedim, ama başarılı olamadı.
Asıl ilginç olan kısım ise buradan sonra başlıyor.
“Durumu anlamak için bir debug kodu yazayım. Bu bitlerin sürelerini bir dizi içinde tutalım ve print edelim. Çıktıya bakarak hatanın bitleri yakalarken mi, yoksa yorumlarken mi olduğunu çözeriz.” dedi. Bu epey mantıklı ve doğru bir yaklaşım.
Kodu denedim ancak bu kod da mantıklı bir çıktı üretmedi. Ölçtüğü zaman aralıkları olması gerekenden çok uzun ve anlamsızdı. Bu sırada ücretli sürüm olmasına rağmen iki mesaj kullanım hakkım kalmıştı ve devam etmedim.
Aynı işlemleri ChatGPT 4.0 ile de denedim. O da bir noktaya kadar iyi gitti, ancak ürettiği kod Sonnet'e kıyasla çok daha hantal ve gereksiz kontrollerle doluydu. ve O da tam anlamıyla çalışan bir kod üretemedi.
kodun içinde çok ufak bir hatayı düzelterek çalışır hale getirdim. sonnet tam anlamıyla çalışan kod üretemese de güzel bir şablon oluşturdu ve buradan devam etmek sıfırdan bir yapı oluşturmaya kıyasla aslında çok daha pratik.
yazılımcı bölümü:
gelen her 8 bitin 9. biti parity ve bunu görmezden gelmek gerekiyor. yazdığı kod içinde bu işlemde bitleri kaydırırken ufak bir hata yapmıştı. bir tane +1 ekleyerek iş çözüldü.
ayıp olmasın diye hatasını da belirttim umarım ders alır.
hatalı kod:
düzeltilmiş kod:
hatasına yaptığı yorum, sanki anladı gibi ?
Zaman aralıklarıyla kodlanmış bir bit dizisinin osiloskop ekran görüntüsünü verdim ve hangi bitlerin ne anlama geldiğini de yazılı olarak ilettim. Ekran görüntüsünü hexadecimal olarak decode etmesini istedim. çözünürlüğü pek beğenmedi. daha iyi anlaması için mesajı ikiye bölerek daha detay görüntü ilettim. İlk denemede tam başaramadı, ancak adım adım hatalarını açıklayınca anladı ve düzeltti. Olayın mantığını kavradı.
Ardından, bir mikrokontrolcü kullanarak bu bit dizisini MCU'ya almasını, bunu da interrupt ile işlemciyi meşgul etmeden yapmasını ve bitlerin zaman aralıklarını mikro saniye çözünürlükte timer ile okumasını istedim. Ayrıca, bir timeout ekleyerek bitler belli bir süreyi aşarsa sıfırdan başlamasını gerektiğini belirttim. gelen her 8 bitin ardından bir de parity biti geliyor ve bunu görmezden gelmesini istedim. Bu aşamaya kadar kodu doğru yazdı ve güzel toparladı.
Ancak, bitleri alırken veya yorumlarken bir hata yapıyordu. Beklenen ve hatalı veriyi birkaç kez vererek hatasını düzeltmesini istedim, ama başarılı olamadı.
Asıl ilginç olan kısım ise buradan sonra başlıyor.
“Durumu anlamak için bir debug kodu yazayım. Bu bitlerin sürelerini bir dizi içinde tutalım ve print edelim. Çıktıya bakarak hatanın bitleri yakalarken mi, yoksa yorumlarken mi olduğunu çözeriz.” dedi. Bu epey mantıklı ve doğru bir yaklaşım.
Kodu denedim ancak bu kod da mantıklı bir çıktı üretmedi. Ölçtüğü zaman aralıkları olması gerekenden çok uzun ve anlamsızdı. Bu sırada ücretli sürüm olmasına rağmen iki mesaj kullanım hakkım kalmıştı ve devam etmedim.
Aynı işlemleri ChatGPT 4.0 ile de denedim. O da bir noktaya kadar iyi gitti, ancak ürettiği kod Sonnet'e kıyasla çok daha hantal ve gereksiz kontrollerle doluydu. ve O da tam anlamıyla çalışan bir kod üretemedi.
kodun içinde çok ufak bir hatayı düzelterek çalışır hale getirdim. sonnet tam anlamıyla çalışan kod üretemese de güzel bir şablon oluşturdu ve buradan devam etmek sıfırdan bir yapı oluşturmaya kıyasla aslında çok daha pratik.
yazılımcı bölümü:
gelen her 8 bitin 9. biti parity ve bunu görmezden gelmek gerekiyor. yazdığı kod içinde bu işlemde bitleri kaydırırken ufak bir hata yapmıştı. bir tane +1 ekleyerek iş çözüldü.
ayıp olmasın diye hatasını da belirttim umarım ders alır.
hatalı kod:
düzeltilmiş kod:
hatasına yaptığı yorum, sanki anladı gibi ?