Saya telah memodifikasi kode mikrokontroler AVR dan PIC selama beberapa tahun sekarang untuk bekerja tetapi belum pernah menulis apa pun dari awal, saya memahaminya dengan cukup baik.
Saya mulai menulis kode saya sendiri sekarang dan saya kesulitan memulai. Saya bertanya-tanya bagaimana orang lain mulai menulis kode dan jika ada buku atau tutorial orang akan merekomendasikan hal ini.
Apakah Anda mulai dengan pengkodean fungsi inisialisasi Anda kemudian menyela kemudian timer kemudian utama sementara (1) loop ... Saya bertanya-tanya apa cara terbaik untuk memulai adalah.
Terima kasih
Tutorial AVR-from-scratch-in-C favorit saya adalah https://www.mainframe.cx/~ckuethe/avr-c-tutorial/
Setiap orang memiliki gaya mereka sendiri untuk sistem tertanam kecil. Ini milik saya:
Saya suka menggunakan banyak file C, dengan nama masing-masing membuat awalan untuk fungsi. Sebagai contoh,
led_init()
danled_tick()
keduanya diled.c
. Ini menjaga hal-hal modular dan membantu dengan portabilitas.Saya menggunakan
common.h
file header untuk mendefinisikan jenis, tetapi masing-masing termasuk untuk setiap modul.Saya cenderung menggunakan timer sistem freerunning tunggal (dalam a
systime.c
) kemudian memiliki modul memanggilsystime_get()
fungsi untuk mengambil waktu saat ini dalam kutu sistem atau milidetik. Setiap modul kemudian dapat menjadwalkan acara melalui penghitung waktu perangkat lunak menggunakanX_tick()
fungsi.jam biasa:
uart.h:
uart.c:
led.h:
led.c:
main.c:
Berikut adalah dua proyek "dunia nyata" yang menggunakan gaya ini untuk AVR dan MSP430 .
sumber