![]() |
|
Tài trợ cho PIC Vietnam |
||||||||
| dsPIC - Bộ điều khiển tín hiệu số 16-bit Theo dự kiến của Microchip, vào khoảng năm 2011 dsPIC sẽ có doanh số lớn hơn PIC |
|
|
Ðiều Chỉnh | Xếp Bài |
|
|
#13 |
|
Đệ tử 2 túi
Tham gia ngày: Sep 2008
Nơi Cư Ngụ: Tp. HCM
Bài gửi: 38
: |
Em đã thử rồi, sau khi ghi vào ROM, cho I2C stop, timer chạy, mỗi lần ngắt sau 0.5s mới start i2c và đọc từ rom, nhưng nó chỉ đọc được giá trị 0. Phần giao tiếp I2C thì ko báo lỗi, vì nếu báo lỗi, chương trình sẽ dừng khi vào hàm I2C_Fail(), đằng này chương trình vẫn chạy (có led nhấp nháy và cứ sau mỗi 0.5s đều gởi ra cổng nối tiếp giá trị 0).
Code:
void _ISR _T1Interrupt(void) {
_T1IF = 0; //Xoa co ngat
_LATC4 ^= 1; //Lat trang thai LED
_SEN = 1; //Tao ra dieu kien START
Wait_I2C(); //Cho hoat dong I2C hoan tat
Write_I2C(0xA0);
if (_ACKSTAT) I2C_Fail(); //Neu NACK thi xu ly loi
Write_I2C(0x00);
if (_ACKSTAT) I2C_Fail(); //Neu NACK thi xu ly loi
Write_I2C(0x01);
if (_ACKSTAT) I2C_Fail(); //Neu NACK thi xu ly loi
_RSEN = 1; //Tao ra dieu kien RESTART
Wait_I2C(); //Cho hoat dong I2C hoan tat
Write_I2C(0xA1); //Ghi dia chi cua ROM, chuan bi doc tu ROM
if (_ACKSTAT) I2C_Fail(); //Neu NACK thi xu ly loi
temp = Read_I2C();
_PEN=1;
Wait_I2C();
U1TXREG = temp;
while (!U1STAbits.TRMT);
}
Em xin cám ơn |
|
|
|
| Tags |
| dspic30f i2c, dspic30f uart, i2c, rtc |
|
|
Similar Threads
|
||||
| Ðề tài | Người gửi | Chuyên mục | Trả lời | Bài mới |
| dsPIC Tutorial 3-Đọc ngõ vào và giao tiếp LCD | namqn | dsPIC - Bộ điều khiển tín hiệu số 16-bit | 92 | 19-02-2017 11:15 PM |
| dsPIC Tutorial 2-Các kỹ thuật cơ bản | namqn | dsPIC - Bộ điều khiển tín hiệu số 16-bit | 33 | 17-10-2013 11:09 PM |
| dsPIC Tutorial 5-Module ADC và MCPWM | namqn | dsPIC - Bộ điều khiển tín hiệu số 16-bit | 83 | 12-09-2013 10:33 PM |
| dsPIC Tutorial 1-Tạo và biên dịch một project (ASM30) | namqn | dsPIC - Bộ điều khiển tín hiệu số 16-bit | 16 | 22-08-2012 12:35 AM |
| Alternate UART pin??? | alexjp | dsPIC - Bộ điều khiển tín hiệu số 16-bit | 1 | 02-05-2006 06:26 PM |