Отговори на тема  [ 281 мнения ]  Отиди на страница Предишна  1 ... 15, 16, 17, 18, 19  Следваща
I2C малко помощ 
Автор Съобщение
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пон Май 12, 2014 11:49 pm
Мнения: 4394
Местоположение: София
Мнение Re: I2C малко помощ
Имам проблем с подкарване на i2c master на PIC16(L)F15325.

Ползвам следната конфигурация:

Код:
void initI2C(void) {
   
   
    // Configure the internal oscillator for 16 MHz
    OSCCON1bits.NOSC = 0b110;    // Set internal oscillator to HFINTOSC
    OSCFRQbits.HFFRQ = 0b110;    // Set HFINTOSC to 16 MHz

    // Set RC3 (SCL) and RC4 (SDA) as input pins for I2C
    TRISCbits.TRISC0 = 1;   // SCL (RC0) as input
    TRISCbits.TRISC1 = 1;   // SDA (RC1) as input

    // Configure MSSP module for I2C Master mode
    SSP1CON1bits.SSPM = 0b1000;   // I2C Master mode, clock = FOSC / (4 * (SSPADD + 1))
   
    // Calculate and set SSPADD value for I2C clock speed of 100 kHz
    SSP1ADD = ((_XTAL_FREQ / 4) / 100000) - 1;   // 100 kHz I2C clock speed at 16 MHz oscillator frequency
   
    // Enable MSSP module
    SSP1CON1bits.SSPEN = 1;
}


С други подобни контролери, няма проблем, в случая SDA и CLK пиновете стоят в 1 и не мърдат.

Моля, ако някой се е занимавал в с въпросния контролер да удари едно рамо.


Пон Сеп 09, 2024 2:07 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 27, 2005 12:48 pm
Мнения: 6094
Мнение Re: I2C малко помощ
в 1 или 3-то състояние?
аналоговите вх. обърна ли ги в дигитал ( не си смомням тая джаджа имаше ли такава операция и дали има pin mux )

_________________
main[-1u]={1};


Пон Сеп 09, 2024 2:24 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пон Май 12, 2014 11:49 pm
Мнения: 4394
Местоположение: София
Мнение Re: I2C малко помощ
Цифрови са. Докато няма i2c start са входове без wpu но стоят в 1 заради pull-up резисторите в slave устройството. Ако им откача връзките, падат в 0. Като се изпълни i2c start, нищо не се променя.


Пон Сеп 09, 2024 2:46 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Яну 25, 2012 9:14 am
Мнения: 5298
Мнение Re: I2C малко помощ
Пробвай да ги инициализираш като OD изходи. Също така преинициализирай PPS за тия два пина.
Аз съм се борил с I2C на точно тоя чип ама беше преди доста време. Ще се опитам да издиря сорса да видя дали нямаше някаква врътка...

_________________
'просто' е технически синоним на 'красиво'


Пон Сеп 09, 2024 2:58 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пон Май 12, 2014 11:49 pm
Мнения: 4394
Местоположение: София
Мнение Re: I2C малко помощ
Като прости изходи работят нормално. Ре-инициализирането им не решава проблема.


Пон Сеп 09, 2024 3:17 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Яну 25, 2012 9:14 am
Мнения: 5298
Мнение Re: I2C малко помощ
lcr написа:
Като прости изходи работят нормално. Ре-инициализирането им не решава проблема.


Имах предвид да ги инициализираш като такива и да пробваш дали I2C работи

_________________
'просто' е технически синоним на 'красиво'


Пон Сеп 09, 2024 3:29 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Яну 25, 2012 9:14 am
Мнения: 5298
Мнение Re: I2C малко помощ
Аааа, сега проверих. Моя код е със софтуерно I2C... Явно и аз не съм успял да го подкарам тогава.

_________________
'просто' е технически синоним на 'красиво'


Пон Сеп 09, 2024 3:33 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 27, 2005 12:48 pm
Мнения: 6094
Мнение Re: I2C малко помощ
нящо такова няма ли

TRISB6 = 1;
TRISB4 = 1;

//Digital Inputs
ANSELBbits.ANSB6 = 0;
ANSELBbits.ANSB4 = 0;

//Assign PPS for Outputs
RB4PPS = 0x08; //SDA
RB6PPS = 0x07; //SCL

_________________
main[-1u]={1};


Пон Сеп 09, 2024 3:38 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пон Май 12, 2014 11:49 pm
Мнения: 4394
Местоположение: София
Мнение Re: I2C малко помощ
TheWizard написа:
нящо такова няма ли

TRISB6 = 1;
TRISB4 = 1;

//Digital Inputs
ANSELBbits.ANSB6 = 0;
ANSELBbits.ANSB4 = 0;

//Assign PPS for Outputs
RB4PPS = 0x08; //SDA
RB6PPS = 0x07; //SCL



В случая са RC0 (CLK) и RC1 (SDA). преправих ги, както си посочил, но и така не работи.


Пон Сеп 09, 2024 4:11 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Яну 25, 2012 9:14 am
Мнения: 5298
Мнение Re: I2C малко помощ
Ето едно софтуерно I2C дето със сигурност работи много стабилно. Мисля че нищо външно не му трябваше, само _XTAL_FREQ дефиницията. Ако опреш дотам... ;)


Прикачени файлове:
i2c.zip [1.93 KiB]
92 пъти

_________________
'просто' е технически синоним на 'красиво'
Пон Сеп 09, 2024 4:22 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Яну 01, 2012 8:04 pm
Мнения: 2663
Местоположение: София / Велико Търново
Мнение Re: I2C малко помощ
Ако се използва MCC (microchip code configurator) има по-малка вероятност за грешки, а и е по-лесно :)

_________________
https://github.com/slav4ocom/


Пон Сеп 09, 2024 4:50 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пон Май 12, 2014 11:49 pm
Мнения: 4394
Местоположение: София
Мнение Re: I2C малко помощ
Н'бабане Гт'муан'га написа:
Ето едно софтуерно I2C дето със сигурност работи много стабилно. Мисля че нищо външно не му трябваше, само _XTAL_FREQ дефиницията. Ако опреш дотам... ;)


Благодаря, но доста неща не разбирам от този код. Доколкото успях да го подкарам - тръгна поне CLK но дотам. Но пък нещо се насмете комуникацията с програматора:

Target Device ID (0x0) is an Invalid Device ID. Please check your connections to the Target Device.
[ Pgm ] at 0x0, expected 0x00003180, got 0x00000000.
Programming did not complete.


Пон Сеп 09, 2024 5:24 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пон Май 12, 2014 11:49 pm
Мнения: 4394
Местоположение: София
Мнение Re: I2C малко помощ
slav4o.com написа:
Ако се използва MCC (microchip code configurator) има по-малка вероятност за грешки, а и е по-лесно :)


MCC спря да работи по незнайни причини. Като го стартирам, прави load и малко след това - unload. Преинсталирах mplabx, пробвах всичко писано по форуми, не ще и не ще. Всичко май се омаза, когато реших да пробвам mplab harmony. Накратко - тая платформа стана невероятна боза.


Пон Сеп 09, 2024 5:28 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Яну 25, 2012 9:14 am
Мнения: 5298
Мнение Re: I2C малко помощ
lcr написа:
Н'бабане Гт'муан'га написа:
Ето едно софтуерно I2C дето със сигурност работи много стабилно. Мисля че нищо външно не му трябваше, само _XTAL_FREQ дефиницията. Ако опреш дотам... ;)


Благодаря, но доста неща не разбирам от този код. Доколкото успях да го подкарам - тръгна поне CLK но дотам. Но пък нещо се насмете комуникацията с програматора:

Target Device ID (0x0) is an Invalid Device ID. Please check your connections to the Target Device.
[ Pgm ] at 0x0, expected 0x00003180, got 0x00000000.
Programming did not complete.


Ами питай за нещата дето не си разбрал. Ще се опитам да ги обясня. А за програматора не знам, там е хардуер и няма как да е от кода.
Сега виждам че има някои неща дето няма да ти трябват - четене от MCP9800 и SHT40. Тия функции направо можеш да ги затриеш

_________________
'просто' е технически синоним на 'красиво'


Пон Сеп 09, 2024 6:01 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пон Май 12, 2014 11:49 pm
Мнения: 4394
Местоположение: София
Мнение Re: I2C малко помощ
Вече започвам да се съмнявам в чиповете. Купувал съм ги от Комет. Втори ми прави номера с невалидното ID и това е първия 8 битов пикльо на който не тръгва i2c.


Пон Сеп 09, 2024 6:07 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 281 мнения ]  Отиди на страница Предишна  1 ... 15, 16, 17, 18, 19  Следваща

Кой е на линия

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


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

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