![]() |
Chương trình truyền AD lên Pc dùng dsPic30F4011 !! (bị lỗi jì ??)
Em gộp các prototype vào 1 file nhưng ko truyền UART được (lúc trước tách ra cũng ko đọc được ) dịch thì build succeeded bình thường,mấy bác giúp em cái :Yêu cầu chỉ là đọc AD của chân AN2 rùi lấy giá trị so trung bình rùi truyền lên PC thui .(có cần fải nối AN0 lên 5v ,và AN1 xuống mass ko (ADCHS ??? )
Code:
#include <p30f4011.h> Trích:
|
Không rõ bạn đọc tutorial 5 cho dsPIC của tôi chưa. Ví dụ 5-2 của tutorial đó đọc ngõ vào AN0 sau mỗi giây, và truyền về máy tính qua cổng RS-232.
Thân, |
1 Attachment(s)
em đã đọc rồi và đã thực hành chạy được rồi ,em có review lại trong bài tutorial đó của anh rồi .Còn chương trình này em tự viết lại theo prototype có sẵn ,anh đọc chương trình thì thấy thật sự em ko chỉ đọc AN2 mà đọc lun AN3,AN4,AN5 (trong phần khai báo adc) ,em đọc từ ADCBUF0->3 lên,nhưng ko thấy nó xuất kết quả jì cả ,nên em mới lên hỏi các anh .
Nhờ mấy anh giúp đỡ em nhỏ cái hen ^_^ P/S : Em gữi file nó lên lun |
Ý của tôi là bạn bắt đầu với một chương trình thật đơn giản, đã chạy tốt. Thêm dần những tính năng mà bạn cần vào, để có thể kiểm tra ở mỗi bước rằng những gì bạn thêm vào đều làm việc tốt.
Bạn có thể dùng code của tôi hay của ai đó làm điểm khởi đầu, nhưng không nên thay đổi hàng loạt hay viết mới hoàn toàn, vì sẽ rất khó xác định lỗi nằm ở đâu. Cách làm việc tốt hơn là bạn thử nghiệm những chức năng mới, nếu bạn gặp khó khăn thì post đoạn code trước và sau khi thay đổi. Việc dò lại toàn bộ chương trình của bạn để tìm lỗi khá tốn thời gian, và không may là lúc này tôi khá bận. Thân, |
Em xin tách ra cho dễ nhìn nha ^_^ :
ADC: Code:
#define SAMPLINGRATE 1800 Code:
#define BAUDRATE 9600 Code:
//==== ham main === |
Em chưa hiểu chỗ thanh ghi ADCHS :
Code:
ADCHSbits.CH0SA = 2; // CH0SA = 0 chon nguon duong cua kenh A la AN0 Trong khi đó em đã chọn AVdd và AVss làm nguồn tham khảo ở thanh ghi ADCON2 rùi ,vậy có cần fải thêm ,lấy nguồn dương cho kênh A là AN0 ,nguồn âm là AN1 rồi nối 2 chân này vào nguồn ko ??? |
Em dùng prototype có sẵn nên vẫn chưa hiểu 1 số chỗ :
_Trong phần adc ,phần ngắt : Code:
// phần khai báo biến bên trên Code:
// auto-align on 16bit size (655.. = 5 positions) PS : em là dân cơ khí nhưng vì 1 lí do bắt buộc em phải làm phần điều khiển nên thật sự em chỉ là ăn sổi nhưng em chắc chắn 1 điều là những cái em hỏi em đã đầu tư suy nghĩ ,chứ ko fải cứ bị trục trặc là xách lên hỏi ,nên mong các bác thông cảm nếu có những câu hỏi hơi ngớ ngẩn . |
Múi giờ GMT. Hiện tại là 11:43 AM. |
Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam