![]() |
|
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 |
|
|
![]() |
||||
Ðề 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 |