Отговори на тема  [ 3 мнения ] 
Не ще да тръгне ма... I2C. 
Автор Съобщение
Ранг: Новодошъл
Ранг: Новодошъл

Регистриран на: Вто Авг 23, 2005 10:36 am
Мнения: 156
Местоположение: Казанлък
Мнение Не ще да тръгне ма... I2C.
Става въпрос за I2C PIC16F876/20MHz !

Аз нещо не вдявам, ама бая документация изчетох и явно нещо дребно ми убягва.



start
.
.
BANKSEL OPTION_REG
movlw B'11000000'
movwf OPTION_REG
movlw B'00011000'
movwf TRISC
start_I2C
BANKSEL SSPSTAT
movlw B'10000000'
movwf SSPSTAT
movlw D'4'
movwf SSPADD
movlw B'00000000'
movwf SSPCON2

BANKSEL SSPCON
movlw B'00001000'
movwf SSPCON ;в конкретния случай - I2C Master mode, clock = FOSC / (4 * (SSPADD+1))
.
.
.
.
Transmit_data_I2C

BANKSEL SSPCON
bsf SSPCON,SSPEN

BANKSEL SSPCON2
bsf SSPCON2,SEN
btfsc SSPCON2,SEN
goto $-1

BANKSEL PIR1
bcf PIR1,SSPIF
movlw Start_write ;зареждане на изходния регистър
movwf SSPBUF ;с адреса - W/R (Start_write = 10100000)

btfss PIR1,SSPIF
goto $-1
bcf PIR1,SSPIF

BANKSEL SSPCON2
btfss SSPCON2,ACKSTAT
goto Er_2
.
.

Програмата стига до тук и не получава ACK.
Хардуерно всичко е ОК,сигналите ги има по шините, само дето EEPROM-a не отговаря.
Пробвах нещата на ПРОТЕУСА, после и с макета-същия рез.

EEPROM 24XX512/24C08.


Чет Яну 19, 2006 5:18 pm
Профил
Ранг: Напреднал
Ранг: Напреднал
Аватар

Регистриран на: Пет Окт 21, 2005 8:45 am
Мнения: 499
Мнение 
Проверката ти за Акнолидж е сгрешена! Ако имаш потвърждение от слейва, SDA става нула - съответно и ACKSTAT=0. Флага е инверсен. Когато имаш акнолидж е нула. А ти тогава отиваш на Er_2.


Чет Яну 19, 2006 5:44 pm
Профил ICQ
Ранг: Новодошъл
Ранг: Новодошъл

Регистриран на: Вто Авг 23, 2005 10:36 am
Мнения: 156
Местоположение: Казанлък
Мнение 
Еееее, мерси много !!!
Ами да те хората са си го казали и показали, ама кой да забележи...


bit 6 ACKSTAT: Acknowledge Status bit (In I2C Master mode only)
In Master Transmit mode:
1 = Acknowledge was not received from slave
0 = Acknowledge was received from slave



e) MSSP module shifts in the ACK bit from the
slave device and writes its value into the
SSPCON2 register (SSPCON2<6>).


Пет Яну 20, 2006 11:00 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 3 мнения ] 

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 4 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни