CCS C uart hatası

ibrahimcelik

Kıdemli Üye
Katılım
31 Ocak 2021
Mesajlar
1,060
merhaba esp8266 gelen komuta göre 16f877 de ki pinleri uart ile kontrol etmeye çalışıyorum esp8266 0:255 gönderiyor ama veri kısmına 0:255 yazdığım zaman kod derlenmiyor sorunu nasıl çözebilirim.
 

Ekler

  • HATA.png
    HATA.png
    101.4 KB · Görüntüleme: 106
char tipli bir sabiti '0:255' diye tanımlamışsın. Bu geçerli bir char sabiti değil. Görüntülenebilir ASCII kodlardan birini kullanabilirsin 'U' veya kontrol karakterlerinden birini gönderebilirsin '\r'
 
Konu ile alakası olmayan bir şey sormak istiyorum. Ben pic ile çoook eskiden uğraşmıştım. Proton ve brenner programlayıcı kullanıyordum. Elimde hala yıllanmış picler var. Günümüzde pic tarafında hala işler program yaz sonra hex yükle şeklindemi ilerliyor.
 
Konu ile alakası olmayan bir şey sormak istiyorum. Ben pic ile çoook eskiden uğraşmıştım. Proton ve brenner programlayıcı kullanıyordum. Elimde hala yıllanmış picler var. Günümüzde pic tarafında hala işler program yaz sonra hex yükle şeklindemi ilerliyor.
Ben de brenner8 kulaniyorum evet hala aynı şekilde program yazıp brenner8 ile hex yüklüyorum zaten picler de eski benim
 
Aslında esp8266 da kullanılan bir cloud yapının Arduino ide de atmegalar ile haberleşirken kullandığı bir veri bu veriyi nerden gördün dersen abi usb-ttl ile putty üzerinde görüntüledim
O herhalde IDE nin kullandığı bir gösterim şekli, C/C++ dilinde tanımlı olan bir yapı değil.
 
'0' ':' '2' '5' '5' gönderiyo olabilir mi. Böyle ise o veri tipiyle bunu okuyamazsınız. Data[0]=='0' olarak yazmankz gerekir. bunum içinde her kesmede dizinin indisini arttırıp yeni gelen datayı o indise koymalısın
 
Mesela Putty ekranında (abc) görünüyorsa bu 3 tane char değişkeni demektir işlemci ile bunu okumanız tek yolu, karakter karakter yani tek tek okumaktır. 0:255 verisi 8bitlik haberleşmede tek karakter olarak değerlendirelemez. 'D' verisi putty ekranında nasıl görünüyor?
 
Mesela Putty ekranında (abc) görünüyorsa bu 3 tane char değişkeni demektir işlemci ile bunu okumanız tek yolu, karakter karakter yani tek tek okumaktır. 0:255 verisi 8bitlik haberleşmede tek karakter olarak değerlendirelemez. 'D' verisi putty ekranında nasıl görünüyor?
Hiç denemedim hocam kapalı bir sistemi Arduino yerine pic mikrodenetleyiciyi ile kullanmaya çalışıyorum şuan
 
Putty kullanmadım ama ayarlarda mutlaka vardır. Gelen veriyi karakter olarak değil de puttu ekranına hex olarak yazdırmasını sağlarsan gelen veri hakkında daha net bilgi sahibi olursun. Ya da bir lojik analizör edinip verileri daha detaylı incelersen çok rahat edersin.
 
.. data=='0:255' .. gibi C de char, int8 tipi görmedim, tek byte olması gerekli '0' gibi fakat data=="0:255" gibi(çift tırnaklı) düşüncen var ise karakter katarı bu da memcmp kullanmak gerekir, burada getc kullanmışsın tek bir bayt diye memcmp kullanamazsın diye düşünüyorum.

data==(int8)0x00 , data==(int8)0xFF, data==(int8)0x39, data==(int8)'9' gibi kullanıma izin verir.

C yazılım kurallarına bakman gerekiyor.

not: memcmp kullanımı:
if (memcmp((char *) data, (char *)"0:255", 5) == 0)
{

}
 
hex şeklinde gelen veri bu şekilde
25262 eklentisine bak
7 bayt geliyor , bunları karakter katarına ekleyip bir paket yapman lazım data sonunu bulmak için karakter timeout veya gelen karakter \n ve bir önceki \r mi diye kontrol edebilirsin tavsiyem karakter timeout olarak kontrol etmen, gelen 7 karakter paketi de if ile karşılaştırmak istersen de memcmp metodunu yada if icinte tek te 7 karakteride karşılaştırabilirsin.
 

Çevrimiçi personel

Forum istatistikleri

Konular
6,951
Mesajlar
118,753
Üyeler
2,824
Son üye
selocan32

Son kaynaklar

Son profil mesajları

hakan8470 wrote on Dede's profile.
1717172721760.png
Dedecim bu gul mu karanfil mi? Gerci ne farkeder onu da anlamam. Gerci bunun anlamini da bilmem :gulus2:
Lyewor_ wrote on hakan8470's profile.
Takip edilmeye başlanmışım :D ❤️
Merhaba elektronik tutsakları...
Lyewor_ wrote on taydin's profile.
Merhabalar. Elektrik laboratuvarınız varsa bunun hakkında bir konunuz var mı acaba? Sizin laboratuvarınızı merak ettim de :)
Lyewor_ wrote on taydin's profile.
Merhabalar forumda yeniyim! Bir sorum olacaktı lcr meterler hakkında. Hem bobini ölçen hemde bobin direnci ölçen bir lcr meter var mı acaba?
Back
Top