{[ promptMessage ]}

Bookmark it

{[ promptMessage ]}

C cho AVR - C cho AVR CNG HC AVR.to become an AVR Master...

Info icon This preview shows pages 1–2. Sign up to view the full content.

View Full Document Right Arrow Icon
C cho AVR Nội dung Các bài cần tham khảo trước 1. Một số khái niệm C cho AVR. 2. Cấu trúc điều khiển và hàm. 3. Ví dụ minh họa. Làm quen AVR. Cấu trúc AVR . WinAVR . N hư tôi đã trình bày ở các bài học trước, khi bạn đã hiểu AVR, để thực hiện các ứng dụng, bạn có thể không nhất thiết phải luôn lập trình bằng Assembly(ASM). Ngôn ngữ cấp cao như C sẽ giúp cho bạn xây dựng các ứng dụng nhanh chóng và dễ dàng hơn, tuy nhiên không vì thế mà bạn “quên” ASM, lập trình bằng C kết hợp ASM là giải pháp hay nhất. Một chú ý là chúng ta chỉ sử dụng C để đơn giản hóa lập trình tính toán, cấu trúc điều khiển…lập trình C cho AVR không có nghĩa là bạn không cần biết cấu trúc và cách thức hoạt động của chip. Tôi không có ý định nói về ngôn ngữ C ở đây nhưng chỉ giới thiệu một cách cơ bản nhất về cách viết chương trình cho AVR bằng C, cụ thể là C trong avr-gcc. Để có thể hiểu và viết những chương trình phức tạp hơn, bạn cần tự trang bị kiến thức về C, tài liệu này sẽ không giúp bạn phần đó. Tuy nhiên, nếu bạn chưa từng lập trình bằng C thì bạn cũng yên tâm đọc tài liệu này, vì ít ra tôi sẽ giải thích những gì tôi viết. I. Một số khái niệm C cho AVR. Một chương trình C cho AVR thường bao gồm các thành phần như: chú thích (comments), biểu thức (expressions), câu lệnh (statements), khối (blocks), toán tử, cấu trúc điều khiển (Flow controls), hàm (functions)… Chú thích (comments) : có 2 cách để tạo phần chú thích trong C là chú thích từng dòng bằng 2 dấu “ // ” như trong dòng đầu của đoạn ví dụ “ //day la chu thich, khong duoc bien dich ” hoặc chú thích block bằng cách kẹp block cần chú thích vào giữa /* ….*/ ví dụ: /* Ban co the type bat ky chu thich nao trong block nay Ngay ca khi ban xuong dong Phan chu thich thuong co mau chu la green */ Tiền xử lí (preprocessor) : là một tiện ích của ngôn ngữ C, các preprocessor được trình biên dịch xử lí trước tất cả các phần khác, các preprocessor có chức năng tương tự các Directive trong ASM cho AVR.Các preprocessor được bắt đầu bằng dấu “#”, trong số các preprocessors trong ngôn ngữ C có hai preprocessors được sử dụng phổ biến nhất là #include #define . Preprocessor #include chỉ định 1 file được đính kèm trong quá trình biên dịch (tương đương .INCLUDE trong ASM) #define để định nghĩa 1 chuổi thay thế hoặc 1 macro. Xem các ví dụ sau: #include /*đính kèm nội dung file io.h trong lúc biên dịch (file io.h nằm trong thư mục con avr của thư mục include trong thư mục cài đặt của WinAVR).*/ #define max (a,b) ((a)>(b)? (a): (b))
Image of page 1

Info icon This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
Image of page 2
This is the end of the preview. Sign up to access the rest of the document.

{[ snackBarMessage ]}

What students are saying

  • Left Quote Icon

    As a current student on this bumpy collegiate pathway, I stumbled upon Course Hero, where I can find study resources for nearly all my courses, get online help from tutors 24/7, and even share my old projects, papers, and lecture notes with other students.

    Student Picture

    Kiran Temple University Fox School of Business ‘17, Course Hero Intern

  • Left Quote Icon

    I cannot even describe how much Course Hero helped me this summer. It’s truly become something I can always rely on and help me. In the end, I was not only able to survive summer classes, but I was able to thrive thanks to Course Hero.

    Student Picture

    Dana University of Pennsylvania ‘17, Course Hero Intern

  • Left Quote Icon

    The ability to access any university’s resources through Course Hero proved invaluable in my case. I was behind on Tulane coursework and actually used UCLA’s materials to help me move forward and get everything together on time.

    Student Picture

    Jill Tulane University ‘16, Course Hero Intern