Thông báo

Collapse
No announcement yet.

Giao tiếp máy tính với UART

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

  • Giao tiếp máy tính với UART

    chào anh/chị, em đang làm về mảng giao tiếp máy tính qua uart của avr, đề tài như sau: ngõ vào gồm 3 chân A0-A3 khi ngõ vào bằng 0 thì gửi tín hiệu a b c lên cho máy tính. phần gửi em đã hoàn thành được nhưng bị 1 tình trạng là khi em cho cùng lúc 2-3 ngõ vào =0 cùng lúc thì nó chỉ gửi 1 tín hiệu T_T, lúc thì a lúc thì b. em ko biết làm sao để nó gửi toàn bộ lên ạ ,không nhất thiết phải là cùng lúc . Mong anh/chị chỉ giúp em với mò mấy ngày gòi mà không được

  • #2
    Hi, mình thì chưa dùng AVR bao giờ, nhưng dùng qua Arduino. Mình nghĩ bạn nên dùng hàm Switch case cho từng trường hợp đọc được tín hiệu ở A0- A3 thì nó sẽ không lung tung lên nữa.

    Comment


    • #3
      tín hiệu đọc được ở A0-A3 chỉ có mức 0 thui mà
      đây là phần code của mình:
      #include <avr/io.h>
      #include <util/delay.h>
      #include <avr/interrupt.h>

      void uart_char_tx(unsigned char chr);
      int main(void)
      {
      DDRD |= _BV(2);
      PORTD |= _BV(2);
      DDRA=0;
      DDRB=0;
      DDRC=0;
      PORTA=0xFF;
      PORTB=0xFF;
      PORTC=0xFF;
      UBRRH=0;
      UBRRL=51;
      UCSRA=0x00;
      UCSRC=(1<<URSEL)|(1<<UCSZ1)|(1<<UCSZ0);
      UCSRB=(1<<TXEN)|(1<<RXCIE);
      sei();
      while(1)
      {
      }
      ////TRUYEN TIN HIEU////
      ////PORT A/////
      if(bit_is_clear(PINA,PA0))
      {

      _delay_ms(1000);
      uart_char_tx('a');

      }
      if(bit_is_clear(PINA,PA1))
      {

      _delay_ms(1000);
      uart_char_tx('b');

      }
      if(bit_is_clear(PINA,PA2))
      {

      _delay_ms(1000);
      uart_char_tx('c');

      }
      if(bit_is_clear(PINA,PA3))
      {
      _delay_ms(1000);
      uart_char_tx('d');
      }
      void uart_char_tx(unsigned char chr)
      {
      while(!(UCSRA&(1<<UDRE)));
      UDR=chr;
      }

      mình bị ở chỗ nhấn 2 nút cùng lúc thì nó chỉ truyền 1 cái (cái nào bấm trước ý) mà hok truyền cái còn lại

      Comment


      • #4
        Mình không hiểu uart_char_tx là hàm gì?nó có sẵn trong thư viện à?

        Comment


        • #5
          Nguyên văn bởi phan toan Xem bài viết
          Mình không hiểu uart_char_tx là hàm gì?nó có sẵn trong thư viện à?
          Thư viện nào đâu bạn, hàm send chr ở cuối kìa.

          Nhưng mà delay của bạn những 1s à? If nằm ngoài main à?
          Thử giảm delay xuống. Nói bấm cùng lúc chứ cũng phải chênh nhau ms.

          Comment

          Về tác giả

          Collapse

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

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

          Collapse

          • mèomướp
            Trả lời cho Sửa bộ nguồn DC 60V 45A
            bởi mèomướp
            Dạ hông dám làm thì chắc chắn sẽ mãi ko thể làm được đâu ạ. Nguồn xung dân dụng vài kw giờ rất nhìu ạ, sạc ô tô điện, máy hàn, lò vi sóng, âm ly... tùy chất lượng mà độ phức tạp sẽ khác nhau ạ. Và cái giá phải trả về kinh tế...
            hôm nay, 13:11
          • tuyennhan
            Trả lời cho Sửa bộ nguồn DC 60V 45A
            bởi tuyennhan
            Sửa dạng này thì chuyên còn không dám chắc khộng cháy nổ với linh kiện bán ngoài chợ nói gì khộng chuyên .
            hôm nay, 09:25
          • tuyennhan
            Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
            bởi tuyennhan
            Đúng rồi chọn mua theo tai . ca thì phải toàn dải nhạc thì chỉ cao và thấp thé nên loa ca thì nghe nhạc không hay và ngược lại .
            Muốn ca và nhạc đều hay thì phải dúng 2 giàn , còn nếu chỉ có 1 thì phải chỉnh sửa lại sao cho ca và nhạc đều được không quá dở ....
            hôm nay, 09:10
          • Ng.Phuong.5
            Vấn đề in lỗ khoan ra pdf ở Orcad 9.2
            bởi Ng.Phuong.5
            Vấn đề cũ: khi in mạch ra pdf và bấm chọn Keep Drill Holes Open, in ra thì pdf trắng đen các lỗ chân linh kiện như nhau. Mặc dù có linh kiện phần Drill là 1mm, có linh kiện thì là 3mm. Cho em hỏi cách sửa phần này ở Orcad 9.2 với ạ.
            Mấy con...
            Hôm qua, 19:44
          • viettinh
            Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
            bởi viettinh
            Bác nói đúng quá. Cơ mà muốn mua hàng chính hãng, hàng thương hiệu mà tai lại hợp hàng tầu mới khổ chứ.
            Đang tính mua cái loa tầu nữa cột đằng sau loa này, Loa sony chỉ để hát nhép thôi, có dc k các bác ...
            Hôm qua, 18:12
          • nguyendinhvan
            Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
            bởi nguyendinhvan
            Theo tôi thì khi hpj sản xuất ra cái loa đó, đã có nhiều chuyên gia kỹ thuật hiệu chỉnh, tính toán các phần tử kỹ lưỡng rồi.
            Bây giờ tính toán hiệu chỉnh lại cần có đội ngũ tương đương với nhà sản xuất.
            Cách đơn giản...
            Hôm qua, 00:04
          • mèomướp
            Trả lời cho Sửa bộ nguồn DC 60V 45A
            bởi mèomướp
            Dạ cháu có ý tốt muốn động viên chú ấy ngâm cứu khoa học thôi ạ. Về phần kiểm tra dao động thì chú ấy chưa biết thì sẽ tìm hiểu được là cần những gì ạ, chắc chắn là khi hướng dẫn phần ấy các cô chú nào đó sẽ lưu ý cần loại sò công suất ra tránh cháy nổ rồi ạ....
            08-01-2025, 19:02
          • tuyennhan
            Trả lời cho Sửa bộ nguồn DC 60V 45A
            bởi tuyennhan
            Chủ thớt hỏi có kiểm tra được dao động mà không cấp nguồn thì rõ trình ở mức nào mà mèo còn xúi ngâm cứu nữa ác vậy ....
            08-01-2025, 15:43
          • tuyennhan
            Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
            bởi tuyennhan
            Loa bass đấu trực tiếp không qua phân tần để thành loa toàn dải xem có thoát tiếng khộng , nếu không thoát cần phải sửa lại mạch cs hay âm sắc nếu đủ trình còn nếu thoát ca hay nhưng chưa vừa ý vì bass kém chăc thì đấu lại như cũ và đấu thêm loa mid treble bên ngoài .
            08-01-2025, 15:28
          • mèomướp
            Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.
            bởi mèomướp
            Dạ loa tép bé xíu như ngón chân cái thôi ạ. Thiếu gì chỗ để đâu. Quan trọng là gắn thêm nó loa nghe ok hay ko thôi ạ...
            08-01-2025, 11:44
          Đang tải...
          X