![]() |
|
Tài trợ cho PIC Vietnam |
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 |
|
![]() |
#1 |
Nhập môn đệ tử
Tham gia ngày: Apr 2008
Bài gửi: 10
: |
cho em hỏi về câu lệnh truyền nhận với máy tính
em đọc một số code mẩu có một số câu lệnh truyền lên máy tính như:
convert_bcd((int8)value);//hàm chuyển đổi số printf("\n\r nhiet do phong:%u",value);//hàm chyển dử liệu lên máy tính Như vậy hàm printf là hàm chuyển dử liệu lên máy tinh , và ở trên thì nó truyền giá trị value lên máy tính.máy tính sẽ lưu giá trị value vào bộ đệm.nếu ta viết hàm nhận bằng VB thì hàm ngắt của VB là hàm nhận dử liệu.vậy ở đây em không hiểu là: +)ngắt xảy ra khi truyền xong hàm printf phải không ạ? +)cách nhận dử liệu như thế nào ạ?nó có khác gì khi ta truyền 1 kí tự lên máy tính = hàm getc không thay đổi nội dung bởi: kugirl, 07-04-2009 lúc 06:27 PM. |
![]() |
![]() |
![]() |
#2 | |
Trưởng lão PIC bang
|
Trích:
Ở phía máy tính, tùy thuộc vào sự thiết lập của bạn mà ngắt nhận dữ liệu từ cổng RS-232 có thể xảy ra theo một điều kiện nào đó (sau mỗi ký tự, hay khi bộ đệm nhận tràn, ...). Việc xử lý dữ liệu như thế nào tùy thuộc vào bạn quy ước giao thức giữa máy tính và thiết bị ngoại vi. Thân,
__________________
Biển học mênh mông, sức người có hạn. Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau: http://www.picvietnam.com/forum/showthread.php?t=1263 |
|
![]() |
![]() |
![]() |
#3 | |
Nhập môn đệ tử
Tham gia ngày: Apr 2008
Bài gửi: 10
: |
Trích:
theo ngu ý của em là ta dùng time của VB,cứ 1 khoảng thời gian cố định nào đó ta gửi yêu cầu truyền dử liệu xuống con pic này,và khi nhận được yêu cầu thì con pic này truyền lên qua công nối tiếp.ví dụ nó truyền adc0,adc1,adc2...,thì VB nhận được một dử liệu sau 1 ngắt và ta phải lưu vào 1 biến nhan1,nhan2...phải không ạ? Nhân đây em hỏi bác là giao tiếp với 1 thiết bị DAC 12 bit giao tiếp I2C thì phải làm như thế nào?.em nghe nói là truyền dử liệu 2 lần,1 lần 8 bít và 1 lần 4 bít. bác ví dụ cho em bằng 1 cái code mẩu được không? em cảm ơn trưởng lảo trước ạ! |
|
![]() |
![]() |
![]() |
#4 | |
Trưởng lão PIC bang
|
Trích:
http://www.users.on.net/~cit/html/vi...m_control.html Về thiết bị DAC, bạn nên đọc datasheet của linh kiện để hiểu những tham số cần thiết lập cho master, và giao thức mà nó hỗ trợ. Về cách dùng PIC làm master I2C, bạn có thể tham khảo ở đây: http://namqn.byethost7.com/Commu.php Thân,
__________________
Biển học mênh mông, sức người có hạn. Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau: http://www.picvietnam.com/forum/showthread.php?t=1263 |
|
![]() |
![]() |
![]() |
#5 | |
Nhập môn đệ tử
Tham gia ngày: Apr 2008
Bài gửi: 10
: |
Trích:
VD printf("hello");truyền ký tự printf("%u",k);truyền theo dạng số còn nếu dùng ký tự để truyền kết quả ADC như thế nào ạ?em chưa hiểu.bác giải thích cho em với. |
|
![]() |
![]() |
![]() |
#6 | |
Trưởng lão PIC bang
|
Trích:
Ví dụ, nếu kết quả ADC của bạn chứa trong 10 bit thì giá trị thập phân lớn nhất mà bạn có thể cần biểu diễn sẽ là 1023 (tương ứng với 0b1111111111 = 0x3FF), do đó bạn sẽ có thể cần đến 4 ký tự để gửi giá trị này đi bằng printf(). Ở phía máy tính, nếu bạn chỉ dùng để hiển thị thì chuỗi ký tự này là sẵn sàng để sử dụng, nhưng nếu bạn cần tính toán với giá trị nhận được thì bạn sẽ cần phải chuyển chuỗi ký tự này trở lại thành một số nguyên 10-bit (chứa trong một ô nhớ 16-bit chẳng hạn). Thân,
__________________
Biển học mênh mông, sức người có hạn. Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau: http://www.picvietnam.com/forum/showthread.php?t=1263 |
|
![]() |
![]() |
![]() |
|
|