siamo passati dall'assemblatore a C nella programmazione a microprocessore. Dubito che sia una buona idea
Non temere, nessuno sviluppa più nuovi programmi in assemblatore al 100%. Al giorno d'oggi, C può essere utilizzato anche per le architetture a 8 bit più piccole e più piccanti. Tuttavia , conoscere alcuni assemblatori ti rende un programmatore C significativamente migliore. Inoltre, ci sono sempre alcuni piccoli dettagli in un programma che devono essere scritti in assembler.
Posso dire che la sintassi C è molto più facile da imparare rispetto alla sintassi Assembler.
Sì, la sintassi è più semplice, certamente. Tuttavia, l'apprendimento dell'intero linguaggio C con tutti i dettagli fastidiosi è molto più complesso dell'apprendimento di tutti i dettagli di un particolare assemblatore. C è un linguaggio molto più grande e più ampio. Ma, di nuovo, potrebbe non essere necessario conoscere tutti i dettagli.
C è più facile da usare per creare programmi più complessi.
In effetti, C fornisce meccanismi per la progettazione di programmi modulari, come incapsulamento e ambiti locali / variabili locali. E C ha una libreria standard, oltre a un'enorme quantità di risorse scritte negli ultimi 30 anni. E, soprattutto, C è portatile.
L'apprendimento del C è in qualche modo più produttivo dell'apprendimento dell'assemblatore perché ci sono più cose in sviluppo attorno a C dell'assemblatore.
C ha molte funzionalità, librerie e risorse prefabbricate, quindi ci sarà meno reinventare la ruota. Ma a parte questo, la tua affermazione è soggettiva. Credo che sia una questione di preferenze personali.
Ad esempio, sono un programmatore esperto di C, che occasionalmente programma C ++. Mi trovo molto meno produttivo in C ++, perché non conosco quel linguaggio così come conosco C. Ma solo perché la penso così, non significa necessariamente che la programmazione in C sia più produttiva della programmazione in C ++. Un programmatore esperto in C ++ avrebbe sicuramente l'opinione opposta.
E ci sono molti aspetti "produttivi". Un aspetto molto importante è il tempo di manutenzione, e in particolare il tempo necessario per correggere i bug indotti dalla manutenzione. C è molto più facile da mantenere rispetto all'assemblatore.
L'assemblatore è un linguaggio di programmazione di livello inferiore rispetto a C, quindi è un ottimo strumento per la programmazione direttamente sull'hardware.
La programmazione hardware può essere eseguita direttamente in entrambe le lingue. Le uniche cose che non puoi fare in C sono accedere ai puntatori dello stack, ai registri delle condizioni, ecc., Del core della CPU stesso. Quindi se per programmazione hardware intendi parlare con la tua CPU, allora sì, assemblatore consente un po 'più di C. Se intendi accedere all'hardware esterno, allora assemblatore non ha alcun vantaggio rispetto a C. Ma forse svantaggi, poiché spesso è più difficile scrivere codice assembler generico per un particolare dispositivo esterno, rispetto al codice C generico.
È molto più flessibile alluderti a lavorare con memoria, interruzioni, micro-registri, ecc.
Questo non è corretto C ti consente anche di fare tutto ciò, anche se potresti dover fare affidamento sul codice C specifico del compilatore come la parola chiave interrupt.
Alla fine, è necessario conoscere entrambe le lingue per programmare MCU, con enfasi su C.