Страница 1 из 2

PIC16F1829-I/SS и I2C

СообщениеДобавлено: 11 апр 2018, 19:34
Андрей
Здравствуйте.
Подскажите, пожалуйста, как заставить работать компонент макрос FLOWCODE 5.5.2.1 I2C в хардварном режиме.
В программном все прекрасно работает.

Re: PIC16F1829-I/SS и I2C

СообщениеДобавлено: 16 апр 2018, 08:01
mim
Покажи...

Re: PIC16F1829-I/SS и I2C

СообщениеДобавлено: 16 апр 2018, 13:14
Андрей
Вот самодостаточный кусок проекта.
На шине I2C (SCL 10 нога (B7), SDA 12 нога(B5)) вистят 4 цапа AK4490.
Когда I2C сконфигурирован как на скриншоте - все работает.
Когда выбираю аппаратный режим I2C2 ничего не работает - на данных шинах все тихо и никакой активности нет.
Корпус 20-PIN.

Re: PIC16F1829-I/SS и I2C

СообщениеДобавлено: 16 апр 2018, 16:55
mim
andr_lyk писал(а):Когда выбираю аппаратный режим I2C2 ничего не работает - на данных шинах все тихо и никакой активности нет.
Корпус 20-PIN.

На каких? У них не определен второй порт... настрой сам...

Re: PIC16F1829-I/SS и I2C

СообщениеДобавлено: 16 апр 2018, 16:58
Андрей
На шине I2C (SCL 10 нога (B7), SDA 12 нога(B5))

Re: PIC16F1829-I/SS и I2C

СообщениеДобавлено: 16 апр 2018, 16:58
mim
Второго И2С нет.

Тупо в файле PIC_CAL_I2C.c найди pir3 в определениях второго порта и замени на pir4.... или жди среду... на работе есть правленый файл...

Re: PIC16F1829-I/SS и I2C

СообщениеДобавлено: 16 апр 2018, 18:57
Андрей
Спасибо, нашел в файле PIC_CAL_I2C.c:
5 строк cr_bit(pir3, SSP2IF);
2 строки while(ts_bit(pir3,SSP2IF) == 0);

поменять во всех этих строках?

И еще вопрос. Этот файл использовать только для компиляции проектов на 16F1829 или файл так же будет работать и для проектах на других PICах?

Re: PIC16F1829-I/SS и I2C

СообщениеДобавлено: 17 апр 2018, 05:29
mim
Файл общий, читай что я писал про файлы CAL. Правильно нужно оформить через дефайны препроцессора, определяя условия компиляции... А так будет работать только для тебя. Это хитрый МК у которого бит флага прерывания расположен в PIR4, а не в PIR3, как у большинства (внимательно читай ДШ, ты его читал???).
Но для правильного оформления через дефайны желательно изучить все МК у которых есть PIR4 и посмотреть что там еще есть (на сайте производителя МК должны быть сводные таблицы)... Поэтому они и не стали заморачиваться, есть один порт И2С и достаточно. Это ты выбрал экзотический чип...

Re: PIC16F1829-I/SS и I2C

СообщениеДобавлено: 17 апр 2018, 09:57
Андрей
mim писал(а):Правильно нужно оформить через дефайны препроцессора, определяя условия компиляции...

это точно я сам не смогу сделать :( Поможешь с правильным файлом?
mim писал(а):(внимательно читай ДШ, ты его читал?

после того как ты показал про PIR4, только тогда понял куда смотреть, до этого не понимал...
mim писал(а):Это хитрый МК у которого бит флага прерывания расположен в PIR4, а не в PIR3, как у большинства

а какой смысл в этом действе вкладывал производитель?
mim писал(а):Это ты выбрал экзотический чип...

плата уже разведена и собранна, поэтому увы....
mim писал(а):Файл общий, читай что я писал про файлы CAL.

на новом или старом форуме?

Re: PIC16F1829-I/SS и I2C

СообщениеДобавлено: 18 апр 2018, 05:38
mim
Этот файл, по крайней мере, различает регистры pir3 и pir4...
PIC_CAL_I2C.rar