Thông báo

Collapse
No announcement yet.

Nhận data từ cổng Com trên boad DE2

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

  • Nhận data từ cổng Com trên boad DE2

    Mình có đoạn code đơn giản để nhận data từ cổng com và hiển thị lên màn hình LCD như sau:
    Code:
    volatile int *RS232_UART_DATA = (int*) 0x10001010;
    volatile char *lcd = (char*) 0x10003050; //LCD PORT
    void main()
    {
        int data;
        data=*RS232_UART_DATA;
        if(data&0xffff0000)         //kiểm tra có data trong FIFO ko
           {
           	data=data & 0xff;          //lấy data ra
        *lcd = 0x80; //SET GIA TRI CHO CON TRO LCD O VI TRI (0,0)
           *(lcd+1) =data;
    }
    Nhưng khi mình kết nối máy tính với Board và dùng phần mềm Terminal để truyền kí tự xuống board thì không nhận được gì hết.Mong các bro chỉ giúp dùm.
    Rất cảm ơn!!!

  • #2
    cần check:
    1. base address trong SOPC builder và trong code đã match chưa?
    2. địa chỉ của thanh ghi chứa data trong RS232_UART_DATA có phải là đầu tiên?
    3. sao không sử dụng interrupt thay cho check fifo?
    trong code trên mình thắc mắc:
    -data&0xffff0000 --> bạn nói check có dữ liệu? --> vậy là dữ liệu của bạn chỉ có 16bit và 16 bit này nằm phía bên trái (0xffff|0000) MSB hay LSB là do system của bạn.
    - vậy "data=data & 0xff" bạn lấy dữ liệu lại lấy 8bit cuối bên phải?????????
    làm rõ hết các điểm này thì bạn sẽ giải quyết đc vấn đề.

    Comment


    • #3
      1.địa chỉ đã chính xác
      2.data & ffff0000 lÀ CHECK FIFO vì 16 bit bên trái của thanh ghi UART là kiểm tra có dât trong FIFO hay ko.8 bit bên phải là bit data.Nếu 16bit bên trái là 0 hết thì 8 bit bên phải là undefine nên ta phải kiểm tra.Nếu nhảy vào if thì có data nên gán data=data&ff là lấy data ra.

      Comment

      Về tác giả

      Collapse

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

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

      Collapse

      • nguyendinhvan
        Trả lời cho Vấn đề về tốc độ quay
        bởi nguyendinhvan
        Sử dụng động cơ servor, hoặc lắp thêm một cái encoder vào động cơ bước. Encoder sẽ kiểm soát động cơ có quay hoặc đứng im.
        Hôm qua, 19:50
      • Andrea14
        Vấn đề về tốc độ quay
        bởi Andrea14
        Chào mọi người,

        Tôi muốn mô phỏng sự thay đổi các mùa bằng cách từ từ nghiêng một quả địa cầu 16 inch bằng một động cơ bước nhỏ. Một động cơ bước khác sẽ quay quả địa cầu theo thời gian thực. Hệ thống truyền động...
        12-12-2025, 12:42
      • bqviet
        Trả lời cho Đấu tắt điện cho máy tính bảng
        bởi bqviet
        Bqv cáo lỗi vì chưa đủ khả năng diễn giải để người đọc hiểu. Người làm kỹ thuật sâu đôi khi như thế đó. Về việc nạp pin không vào dù cell mới, khả năng cái mạch quản lý đó đã hỏng - cũng chính là nguyên nhân đám cell cũ hỏng từ đầu.
        06-12-2025, 17:17
      • nguyendinhvan
        Trả lời cho Xin hỏi về mạch thu FM/AM trong catsette
        bởi nguyendinhvan
        Theo tôi, nó chỉ là cái Tuy- ê - nơ, hoặc là khối Trung Văn Tần, nó một phần trong cái Da đì ô thôi. Vì có thấy một chỗ có ba chân hàn, giiống như chân Cờ rít sờ tăng 455 ki nô hẹc. Còn khối Tuy ê nơ thì không nhìn thây cái Di ốt Va di cáp...
        05-12-2025, 19:59
      Đang tải...
      X