Thông báo

Collapse
No announcement yet.

ATMEGA162 với USART

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

  • ATMEGA162 với USART

    Em đang thử gửi dữ liệu qua cổng USART0 của con ATMEGA162 về máy tính. Hiện tại thấy có dữ liệu gửi qua nhưng thấy bị lỗi,
    "ÀÀ<0>ÀÀ<0>ÀÀ<0>ÀÀ<0>ÀÀ<0>ÀÀ<0>ÀÀ<0>ÀÀ<0>ÀÀ<0>ÀÀ<0 >ÀÀ<0>ÀÀ<0>ÀÀ<0>ÀÀ<0>ÀÀ<0>À"

    Bác nào đã sử dụng con này cho em xin ít kinh nghiệm với. Em dùng Xtal:7.3728M.

    Em đã thử với con ATMEGA16 thấy kết quả tốt.

    Thanks các bác nhiều.

  • #2
    Nguyên văn bởi quachtinh179 Xem bài viết
    Em đang thử gửi dữ liệu qua cổng USART0 của con ATMEGA162 về máy tính. Hiện tại thấy có dữ liệu gửi qua nhưng thấy bị lỗi,
    "ÀÀ<0>ÀÀ<0>ÀÀ<0>ÀÀ<0>ÀÀ<0>ÀÀ<0>ÀÀ<0>ÀÀ<0>ÀÀ<0>ÀÀ<0 >ÀÀ<0>ÀÀ<0>ÀÀ<0>ÀÀ<0>ÀÀ<0>À"

    Bác nào đã sử dụng con này cho em xin ít kinh nghiệm với. Em dùng Xtal:7.3728M.

    Em đã thử với con ATMEGA16 thấy kết quả tốt.

    Thanks các bác nhiều.
    Bạn chú ý phải dùng ngắt phát cho USART0 hoặc là phải viết lại hàm USART0_putc(unsigned char data) cho riêng nó, đừng dùng thư viện <stdio.h>...
    Đây là hàm viết cho USART0 để bạn tham khảo..

    Cài đặt...
    // USART0 initialization
    // Communication Parameters: 8 Data, 1 Stop, No Parity
    // USART0 Receiver: On
    // USART0 Transmitter: On
    // USART0 Mode: Asynchronous
    // USART0 Baud rate: 9600
    UCSR0A=0x00;
    UCSR0B=0x58;
    UCSR0C=0x86;
    UBRR0H=0x00;
    UBRR0L=0x2F;
    Hàm truyền:
    #define UDRE0 UCSR0A.5
    void USART0_putc( unsigned char data )
    {
    /* Wait for empty transmit buffer */
    while(!UDRE0);
    /* Put data into buffer, sends the data */
    UDR0 = data;
    }
    Last edited by hightech_uc; 07-06-2008, 09:31.
    |

    Comment


    • #3
      Cảm ơn bác, em đã chạy được rồi,
      Main problem come from Fuse Setting.

      Comment

      Về tác giả

      Collapse

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

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

      Collapse

      Đang tải...
      X