Thông báo

Collapse
No announcement yet.

Giao tiếp USART làm sao lấy được chuổi ký tự.

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

  • Giao tiếp USART làm sao lấy được chuổi ký tự.

    Các cao thủ cho mình hỏi?

    Mình truyền USART từ máy tính xuống vi điều khiển.
    mình sử sử MCU atmega trinh biên dịch codevision , mình dùng hàm getchar() để nhận dữ liệu từ máy tính
    Mà hàm getchar chỉ nhận được một ký tự vậy làm sao để mình có thể nhận được một chuổi ký tự VD 123.

    Mong được giúp đỡ mình cảm ơn nhiều....

  • #2
    getchar() không phải chỉ nhận được một ký tự mà nhận dữ liệu kiểu kí tự. các số lớn có thể tách thành các bit thấp và bit cao rồi truyền, nhận
    Rễ của sự học tập thì đắng
    Quả của sự học tập thì ngọt

    Comment


    • #3
      Thank bạn nhiều, Vậy làm sao mình có thể nhận chuổi ký tự từ máy tính truyền xuống VD :123 bằng hàng getchar() .
      bài tập của mình là máy tính truyền xuống VDK một phép toán VD :2+3= VDK se trả lại kết quả là 5 , theo mình nghĩ mình phải lưu chuổi 2+3= vào mảng mới có thể xử lý được...

      Comment


      • #4
        123 nhỏ hơn 127 khi truyền thì cứ truyền bình thường mà. Nếu chỉ đơn giản như bài toán của bạn thì chỉ là truyền một số. Bạn cần làm chủ việc truyền dữ liệu qua USART đã. Nếu bạn truyền được dữ liệu bất kì qua USART thì sẽ làm được bài trên
        Rễ của sự học tập thì đắng
        Quả của sự học tập thì ngọt

        Comment


        • #5
          unsigned char x,chuc,dv;
          while(rx_counter>0); chuc=getchar()-48;
          while(rx_counter=0);
          while(rx_counter>0); dv=getchar()-48;
          while(rx_counter=0);
          x=chuc*10+dv;


          làm như thế này là nhận đc 2 số rồi.
          mình truyền từ máy tính ok rồi.nhưng bây giờ truyền từ chíp lên PC .đang gặp khó khắn.ai giúp chút nào

          Comment


          • #6
            thank các bãn nhiều...

            Comment


            • #7
              bạn có thể nói rõ hơn dựoc không, truyền từ máy tính xuống vi điều khiển đó, truyền một chuỗi bằng c#, sao vi điều khiển nhận có một kí tự à

              Comment


              • #8
                Nguyên văn bởi quangbuu Xem bài viết
                bạn có thể nói rõ hơn dựoc không, truyền từ máy tính xuống vi điều khiển đó, truyền một chuỗi bằng c#, sao vi điều khiển nhận có một kí tự à
                Bạn truyền một chuỗi kí tự thực chất là truyền đi từng byte dữ liệu, vi điều khiển sẽ nhận từng byte dữ liệu đó để xử lý.
                Để nhận được một chuỗi, mình hay làm cách như sau:
                - Bên truyền: mình thêm vào chuỗi truyền đi một số byte để đánh dấu bắt đầu một chuỗi, kết thúc chuỗi , chắc ăn cho thêm byte kiểm tra lỗi chuỗi truyền đi (checksum). Ví dụ muốn truyền đi một chuỗi kí tự "xyz" mình tuyền như sau: 0xaa, 0xbb, chuỗi kí tự muỗn truyền, 0xfd. Trong đó 0xaa, 0xbb là 2 byte kí hiệu để bắt đầu một chuỗi, 0xfd là byte kí hiệu kết thúc một chuỗi.
                - Bên nhận: dùng hàm ngắt nhận để nhận dữ liệu, dùng một biến kiểu mảng để nhận dữ liệu, biết được điểm bắt đầu, điểm kết thúc một chuỗi, việc của bạn giờ là xử lý dữ liệu từ các phần tử của mảng dữ liệu mà bạn nhận được.

                Chúc bạn thành công!
                Website:
                E-mail:

                Comment

                Về tác giả

                Collapse

                hohoanganhfu Trường ĐH khoa Hoc Tự Nhiên Tìm hiểu thêm về hohoanganhfu

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

                Collapse

                • mansion123
                  Bật mí những điều ít ai biết về thi công gỗ óc chó
                  bởi mansion123
                  Thi công gỗ óc chó giúp không gian trở nên sang trọng, ấm cúng, gần gũi hơn. Sự kết hợp giữa thẩm mỹ và chất lượng cao của gỗ óc chó chắc chắn sẽ mang lại giá trị lâu dài và làm hài lòng ngay cả những khách hàng khó tính nhất. Vậy đằng
                  ...
                  hôm nay, 16:08
                • tuyennhan
                  Trả lời cho Tiếng Anh cho người Việt
                  bởi tuyennhan
                  Cái thư sai ngay câu chào Dear sir mới đúng Hi chỉ dùng cho người quen , các vấn đề về kỹ thuật nó không trả lời hoặc nói loanh quanh tránh ảnh hưởng đến công ty .
                  Giup1 người cần không giúp người không cần với lại văn mình vợ người nha đừng quên .
                  hôm nay, 07:44
                • vi van pham
                  Trả lời cho Tiếng Anh cho người Việt
                  bởi vi van pham
                  Cám ơn những lời chúc tốt đẹp của em.

                  Việc em làm giống như chê sếp dốt, chẳng những không có miếng xôi nào để ăn mà còn chịu nhiều trù dập lên bờ , xuống ruộng.

                  Hãy tránh vết xe đổ của tui đi. Dành thời gian lo cho gia đình....
                  hôm nay, 02:00
                • nhathung1101
                  Trả lời cho Tiếng Anh cho người Việt
                  bởi nhathung1101
                  Ngoại ngữ là không thể thiếu, nhất là làm việc với công nghệ.

                  Nhưng học để tán gái hay để đọc datasheet, manual là chuyện cần quan tâm.

                  Và đọc ở nguồn nào đáng tin cậy, chứ cứ lên tictok hay facebook học lỏm thì...
                  Hôm qua, 22:18
                • dinhthuong80
                  Trả lời cho Tiếng Anh cho người Việt
                  bởi dinhthuong80
                  Bác nói rất khách quan và chính xác. Ngoại ngữ là chìa khóa thăng tiến dù làm gì. Chả thế mà nay nước mình dạy tiếng Anh từ tiểu học.

                  Nhớ hồi năm 2006 em ra Hải Phòng, Hải Dương tìm việc, thời đó ở Bình Dương lương công...
                  Hôm qua, 14:51
                • dinhthuong80
                  Trả lời cho Tiếng Anh cho người Việt
                  bởi dinhthuong80
                  Cảm ơn bạn, ĐT cũng có ý nghĩ như vậy.

                  Thực ra, lỗi của hãng đó ( gọi là hãng vì không chỉ một model sản phẩm) là về phần cứng, ĐT tuy không biết về lập trình phần mềm nhưng cũng thấy rằng sẽ chẳng khó khăn gì đáng...
                  Hôm qua, 14:39
                • dinhthuong80
                  Trả lời cho Tiếng Anh cho người Việt
                  bởi dinhthuong80
                  Dạ, bác bảy mấy tuổi đời rồi cũng không kém bố cháu bao nhiêu. Tuổi nghề thì bác cũng đáng tuổi cha chú.

                  Nhưng 2 điều trên thì chưa hẳn đã đáng quí và đáng tôn trọng bằng việc bác rất nhiệt tình chia sẻ kinh nghiệm chuyên...
                  Hôm qua, 14:28
                • bqviet
                  Trả lời cho Tiếng Anh cho người Việt
                  bởi bqviet
                  Đúng, nếu chú tâm thì chỉ cần mỗi tiếng Việt là đã khá đủ để làm đa số công việc thông thường, ở thời đại ngày nay khi tài liệu sách vở phương tiện thông tin liên lạc đã nhiều. Nhưng cũng chính ở thời nay giao lưu các nước nhiều...
                  21-02-2025, 20:26
                • mèomướp
                  Trả lời cho Tiếng Anh cho người Việt
                  bởi mèomướp
                  Dạ cháu nghĩ chú dinh... cứ mạnh dạn gửi thư đi ạ, chú có thể gửi bằng văn bản in chuyển phát nhanh sẽ có giá trị hơn. Vấn đề chưa hẳn là cần hãng làm gì đó, mà chỉ đơn giản là mình cảm thấy nhẹ lòng vì đã làm những việc bản...
                  21-02-2025, 12:32
                • vi van pham
                  Trả lời cho Tiếng Anh cho người Việt
                  bởi vi van pham
                  Những lần hắt hơi sổ mũi làm tôi mệt lã, phải dùng rượu uống để ngũ. Tôi cũng đang uống rượu 1 mình, viết vài dòng này cho em ( có lẽ dt chỉ bằng tuổi em tôi).

                  Dinh thuong dang đi vào vết xe đổ của tôi. Càng chứng minh, có...
                  20-02-2025, 21:31
                Đang tải...
                X