mikroişlemci programlamasında montajcıdan C'ye geçtik. Bunun iyi bir fikir olduğuna dair şüphelerim var
Korkma, kimse artık% 100 montajcıda yeni programlar geliştirmiyor. Günümüzde C, en küçük, en dar 8-bit mimariler için bile kullanılabilir. Bununla birlikte , bazı montajcıları bilmek sizi daha iyi bir C programcısı yapar. Ayrıca, bir programda derleyicide yazılması gereken küçük ayrıntılar da vardır.
C sözdiziminin öğrenilmesinin Assembler sözdiziminden çok daha kolay olduğunu söyleyebilirim.
Evet sözdizimi kesinlikle daha kolay. Bununla birlikte, tüm C dilini tüm can sıkıcı ayrıntılarla öğrenmek, belirli bir toplayıcının tüm ayrıntılarını öğrenmekten çok daha karmaşıktır. C çok daha büyük ve daha geniş bir dildir. Ama sonra tekrar, tüm detayları öğrenmeniz gerekmeyebilir.
C'nin daha karmaşık programlar yapmak için kullanımı daha kolaydır.
Gerçekten de C, kapsülleme ve yerel kapsamlar / yerel değişkenler gibi modüler program tasarımı için mekanizmalar sağlar. C'nin standart bir kütüphanesi ve son 30 yılda yazılmış çok büyük miktarda kaynağı var. Ve en önemlisi, C taşınabilirdir.
C Öğrenimi bir şekilde öğrenici montajcıdan daha verimlidir çünkü C çevresinde Assembler'dan daha fazla gelişmekte olan şeyler vardır.
C, önceden hazırlanmış işlevselliğe, kitaplıklara ve kaynaklara sahiptir, bu nedenle tekerleğin yeniden icat edilmesi daha az olacaktır. Ancak bunun dışında ifadeniz özneldir. Bunun kişisel tercih meselesi olduğuna inanıyorum.
Örneğin, bazen C ++ programlayan deneyimli bir C programcısıyım. Kendimi C ++ 'da çok daha az üretken buluyorum, çünkü C'yi bildiğim kadar iyi bilmiyorum ama bu şekilde hissettiğim için C dilinde programlama C ++' da programlamadan daha verimli olduğu anlamına gelmiyor. Deneyimli bir C ++ programcısı tam tersi bir görüşe sahip olacaktır.
Ve "üretken" in birçok yönü var. Çok önemli bir husus bakım süresi ve özellikle bakımın neden olduğu hataları düzeltmek için geçen süredir. C'nin bakımı montajcıdan çok daha kolaydır.
Assembler, C'den daha düşük seviyeli bir programlama dilidir, bu nedenle doğrudan donanıma programlama için iyi bir seçimdir.
Donanım programlama doğrudan her iki dilde de yapılabilir. C'de yapamayacağınız tek şey CPU çekirdeğinin kendisinin yığın işaretleyicilerine ve durum kayıtlarına vb. Yani, donanım programlaması ile kendi CPU'nuzla konuşmayı kastediyorsanız, evet, montajcı C'den biraz daha fazlasına izin verirse, harici donanıma erişmek istiyorsanız, montajcı C'ye hiçbir faydası yoktur. Ama belki de dezavantajları belirli bir harici aygıt için genel C kodu yerine genel birleştirme kodu.
Bellek, kesmeler, mikro yazmaçlar vb.İle çalışmanızla ilgili çok daha esnektir.
Bu doğru değil. İnterrupt anahtar kelimesi gibi derleyiciye özgü C koduna güvenmeniz gerekebilse de C, bunların hepsini de yapmanıza izin verir.
Sonunda, MCU'ları programlamak için C'ye vurgu yaparak her iki dili de bilmeniz gerekir.