Thông báo

Collapse
No announcement yet.

UART của AVR

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • UART của AVR

    Làm sao nhận được 2 Byte khác nhau liên tiếp trên đường USART? cùng codevision, ngắt truyền, ngắt nhận? Giúp em với ! Có thể nói rõ cho em biết về cơ chế truyền và nhận khi dùng code vision AVR được kô();

  • #2
    Nguyên văn bởi mrcuongcon Xem bài viết
    Làm sao nhận được 2 Byte khác nhau liên tiếp trên đường USART? cùng codevision, ngắt truyền, ngắt nhận? Giúp em với ! Có thể nói rõ cho em biết về cơ chế truyền và nhận khi dùng code vision AVR được kô();
    Bác không nói rõ ứng dụng của bác như thế nào nên em khó trả lời chính xác được.
    Theo em suy luận thì bác thấy trong CodeVision nó chỉ cho bác hàm getchar tức là chỉ nhận 1 ký tự. Do đó bác không nhận được nhiều hơn 2 ký tự để làm việc khác.
    Thường thì ta sẽ sử dụng một chương trình kiểu như Hyper Terminal để gửi các lệnh cho AVR, AVR sẽ nhận lệnh để thực thi.
    Ví dụ: bác gõ chữ WHO và Enter, AVR sẽ gửi lên câu:"Da, la em day". Như vậy AVR sẽ phải nhận một dãy ký tự kết thúc bằng ký tự Enter (0x0D)

    Ta sẽ không sài hàm getchar() nữa. Bác đọc kỹ chương trình ngắt sẽ thấy nó sử dụng một RX_Buffer để lưu các ký tự nhận được.
    Bác sửa lại chưong trình ngắt như sau:

    Kiểm tra ký tự nhận được, nếu khác Enter (0x0D) thì cho nó làm việc bình thường.
    Nếu là Enter thì
    -Đọc chuỗi ký từ từ 0 đến Rx_counter trong RX_Buffer
    -So sánh nó với chuỗi "WHO"
    -Nếu đúng là WHO thì gọi hàm WHOCommand chẳng hạn.
    -Reset lại các biến RX_Counter, RX_Index
    Chúc bác thành công, dễ thôi mà.
    Email: - Mobil: tạm thời ngừng liên lạc 1 thời gian
    Giới thiệu website kiếm tiền trực tuyến & tăng thứ hạng website.

    Comment


    • #3
      Đúng roài, hàm getchar chỉ lôi được mỗi một kí tự, nên nếu em nhận vài byte thì gặp khó khăn, em cũng đã giải quyết bằng cách lấy giá trị nhận được từ bufer chứ kô dùng getchar!
      dù sao cũng cảm ơn bác nhiều.

      Comment

      Về tác giả

      Collapse

      mrcuongcon Tìm hiểu thêm về mrcuongcon

      Bài viết mới nhất

      Collapse

      Đang tải...
      X