![]() |
Dùng nhiều kênh ADC của PIC để đo
Xin hỏi mọi người rằng, nếu trong một chương trình cho PIC mà mình muốn dùng nhiều kênh ADC để đo thì mình phải có ý tưởng sao ta?????????????????. Em đang bị bí chõ này, sài một kênh thì em làm được rồi mà nhiều kênh thì em làm hoài mà không được
|
bạn xài kênh 0 thì set kênh 0 ,muốn xài thêm kênh 1 thi set thêm, pic có 1 số kênh đó AN0,AN1,AN2..
setup_adc_ports(AN0); set_adc_channel(0); //kenh 0 chan so2 setup_adc_ports(AN1); set_adc_channel(1); //kenh 1 chan so3 |
Tại một thời điểm bạn chỉ có thể đọc được một kênh ADC vì trong PIC có một bộ ADC mà thồi, việc có nhiều kênh chẳng qua là PIC dùng thêm bộ MUX tương tự để lấy dữ liệu từ các kênh khác nhau đưa vào ADC và đo. Để đọc nhiều kênh ADC liên tiếp nhau, bạn có thể code như sau:
Khai báo biến Code:
#define MAX_CH_ADC 8 Khi không đọc các kênh liên tiếp nhau, bạn dùng hàm set_adc_channel(ten_kenh_adc); delay_us(10); để chuyển đổi đến kênh adc cần đo và gọi hàm read_adc() để lấy giá trị kênh đó về, lưu vào buffer. |
Cảm ơn bac Linhnc308 nhiều. Nhờ bác em đã làm được rùi, bữa nào em làm hoàn thiện em sẽ post bài của em lên để mọi người cùng tham khảo.
|
Múi giờ GMT. Hiện tại là 10:10 PM. |
Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam