PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > Cơ bản về vi điều khiển và PIC

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

Cơ bản về vi điều khiển và PIC Những bài hướng dẫn cơ bản nhất để làm quen với vi điều khiển PIC

 
 
Ðiều Chỉnh Xếp Bài
Prev Previous Post   Next Post Next
Old 08-11-2013, 02:59 PM   #1
unisa
Đệ tử 2 túi
 
Tham gia ngày: May 2005
Bài gửi: 27
:
Unhappy Giúp mình đổi từ hexa sang decimal

Số là mình giao tiếp UART giữa 2 PIC 16F887, mọi thứ OK, CPU 1 truyền data sang CPU 2 rồi CPU 2 save vào eeprom.
Mình giả sử tại ô nhớ Eeprom 0x00 có giá trị là 13 (đọc dc số 13 theo kiểu đọc ngược ra bằng PICKIT2)
Mình dùng hàm chia \ và % để tách thành 1 và 3 để hiển thị trên Led 7 đoạn OK rồi. Vấn đề là
- Khi gán biến, giả sử
Code:
  a = read_eeprom(0x00); // a = 0x13
sau đó dùng lệnh vòng lặp for
Code:
  for(i=0;i <= a, i++)
  { ... }
Thì giá trị i chạy lên tới 19 (do hexa 13 => decimal = 19) => Do khi đọc trực tiếp từ eeprom ra thì nó đã là = 13 hexa. Mình muốn hỏi có cách nào chuyển trực tiếp 13 hexa ra đúng 13 decimal để chạy vòng lặp cho đúng đc ko ?

Mình thực sự chưa hiểu hết về các phép tính trong CCS, mình thấy khi thực hiện các phép tính rất không ổn định, khi đúng, khi sai, khi thế này thế kia ...
Mong các bạn giúp đỡ, mình bí mấy hôm rồi chưa giải quyết đc, đã thử dùng hàm atoi nhưng đều ra kq = 0 ???

thay đổi nội dung bởi: unisa, 08-11-2013 lúc 03:06 PM.
unisa vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
 


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


Múi giờ GMT. Hiện tại là 03:43 PM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam