cần giúp truyền số thực từ avr16 lên máy tính?

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • diamond
    Banned
    • Jun 2013
    • 394

    #1

    cần giúp truyền số thực từ avr16 lên máy tính?

    các bác cho em hỏi sao em không truyền được số thực lên máy tính em sau khi khởi tạo các uast xong em dùng hàm sprintf(str,"%f",t) và puts(str)với char str[20], float t=10.5.sao nó không truyền được mà em đồi lại sprintf(str,"%d",t) puts(str)với int t=100 tức là chuyển sang số nguyên thì truyền được mong các bác giúp em ạ
  • diamond
    Banned
    • Jun 2013
    • 394

    #2
    mấy anh mod đâu hết cà rồi sao không ai biết hết à

    Comment

    • phan_it
      Thành viên tích cực
      • Dec 2005
      • 366

      #3
      - Tôi có ví dụ giao tiếp ATmega8 với PC, bạn có thể tham khảo sau đó chuyển qua ATmega16. Ví dụ đó ở trong Phan Information Technology trong mục "Học tập"
      0912666017

      Comment

      • hoang_3i
        Thành viên tích cực
        • Jun 2012
        • 455

        #4
        Nguyên văn bởi diamond Xem bài viết
        các bác cho em hỏi sao em không truyền được số thực lên máy tính em sau khi khởi tạo các uast xong em dùng hàm sprintf(str,"%f",t) và puts(str)với char str[20], float t=10.5.sao nó không truyền được mà em đồi lại sprintf(str,"%d",t) puts(str)với int t=100 tức là chuyển sang số nguyên thì truyền được mong các bác giúp em ạ
        cách đơn giản nhất là đổi số nguyên thành số thực, sau đó lại chuyển số thực thành số nguyên, vd: float t= 10.56 , int x = t*100; sprintf(str,"%d",x); trên máy tính nhận được thì đổi lại float t = x*0.01 ;

        cách 2 là khai báo sử dụng 1 biến float và 1 biến 32 bit có chung địa chỉ vói nhau. Ban tìm hiểu về lệnh union trong ngôn ngữ c
        (^_^) hoangnv.3i@gmail.com

        Comment

        • diamond
          Banned
          • Jun 2013
          • 394

          #5
          Nguyên văn bởi hoang_3i Xem bài viết
          cách đơn giản nhất là đổi số nguyên thành số thực, sau đó lại chuyển số thực thành số nguyên, vd: float t= 10.56 , int x = t*100; sprintf(str,"%d",x); trên máy tính nhận được thì đổi lại float t = x*0.01 ;

          cách 2 là khai báo sử dụng 1 biến float và 1 biến 32 bit có chung địa chỉ vói nhau. Ban tìm hiểu về lệnh union trong ngôn ngữ c
          có vậy mà em không nghĩ ra cám ơn các anh

          Comment

          Về tác giả

          Collapse

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

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

          Collapse

          Đang tải...