реклама на сайте
подробности

 
 
> ccs -> I2c Вроде ура ,а вроде нет, Связь между конроллерами PIC
kotopuz
сообщение Mar 25 2007, 04:22
Сообщение #1


Участник
*

Группа: Свой
Сообщений: 54
Регистрация: 28-02-07
Пользователь №: 25 743



Столкнулся с необходимостью связать вместе 3-и контроллера , или управляет главный конроллеп(то есить уже 4-ый), требуется предача данных в обоих направлениях. Сам пишу в ccs, с недавнего времени стал отлаживать с Proteus вместо PICSIM.
Накидал схемку где есть(к сожеланию с собой нет). В ней 2 микроконтроллера PIC16f873. Воспользовавшись примерами написал программу для мастера и слэйва по I2C. В слэйв микроконтроллере есть прерывание SSP, туда поидее дожно прыгнуть управление при приёме данных(пока просто байт), для регистрации этого я каждый раз мигаю светодиодом, но всё не работает, просто не знаю в чём дело cranky.gif Лазил по сайтам и понял, что я не первый кто не может запустить пример. Может кто то делал симуляцию I2C или проверял на практике программы. Везде пишут про обмен данными между МК и перефирией, я понимаю что принципы те же, но без работающего примера я просто экспериментирую, а метод тыка не всегда хорош. БУду благодарен умным людям за хоть что нибудь рабоатющее,
Спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
upc2
сообщение Mar 27 2007, 08:06
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 506
Регистрация: 29-09-05
Из: Донецк
Пользователь №: 9 063



На Микрочипе AN736 описывает сетевой протокол для IIC.Присоединил исходники на асм. и С
Работает хорошо-проверял.
В Протеусе IIC терминал работает плохо.Присоединил модель, которая работает лучше.
Прикрепленные файлы
Прикрепленный файл  i2cspy.zip ( 34.35 килобайт ) Кол-во скачиваний: 59
Прикрепленный файл  00736.zip ( 39.03 килобайт ) Кол-во скачиваний: 54
 
Go to the top of the page
 
+Quote Post
kotopuz
сообщение Mar 28 2007, 04:17
Сообщение #3


Участник
*

Группа: Свой
Сообщений: 54
Регистрация: 28-02-07
Пользователь №: 25 743



Цитата(upc2 @ Mar 27 2007, 09:06) *
На Микрочипе AN736 описывает сетевой протокол для IIC.Присоединил исходники на асм. и С
Работает хорошо-проверял.
В Протеусе IIC терминал работает плохо.Присоединил модель, которая работает лучше.


Спасибо большое. Любовь к контроллерам убивает и глазик уже дёргается от натуги blink.gif , так что нады отдохнуть и опять в бой )))) cheers.gif
Go to the top of the page
 
+Quote Post
urry1
сообщение Mar 28 2007, 09:00
Сообщение #4


Участник
*

Группа: Новичок
Сообщений: 54
Регистрация: 14-12-06
Пользователь №: 23 498



попробовал - действительно, инструмент и2с в протеусе работает не совсем корректно в случае, когда подчиненное устройство не дает ответа - бит подтверждения. Выводится какая-то галиматья, хотя по графикам все нормально. Для примера - запись числа 59 по 0 адресу в 24с32.
Код
#include <pic.h>
#include <conio.h>
__CONFIG(HS & WDTDIS & LVPDIS );
// это ведущий контроллер
//////////////////////////main/////////          
main()
{
              TRISA=0xff;
              TRISB=0x00;
              TRISC=0xff;// все на ввод.
        SSPSTAT&=0xbf; // cпецификация и2с
        SSPSTAT|=0x80;// cтандартный режим
        SSPADD=80;//скорость передачи
        SSPCON=0x38;// аппаратная  поддержка ведущего режима
        SSPCON2=0;//
PEIE=0;
SSPIE=1;

GIE=0;// ну зачем ведущему прерывания
        SEN=1; // start
do{
}while(SSPIF !=1);// ждем, пока закончится
SSPIF =0;
SSPBUF=0xA0; // субадрес 24с32
do{
}while(SSPIF !=1); // ответил
SSPIF =0;
SSPBUF=0x00; // адрес
do{
}while(SSPIF !=1); // ответил
SSPIF =0;
SSPBUF=0x00; // адрес
do{
}while(SSPIF !=1); // ответил
SSPIF =0;
SSPBUF=0x59; // данные
do{
}while(SSPIF !=1); // ответил
SSPIF =0;
PEN=1; // стоп
do{
}while(SSPIF !=1);
SSPCON&=0xEF;// тормозим
for(;;)
    {
    }
}

Когда микросхема присутствует (есть бит подтверждения), то все нормально, а когда ее убрать, то ...
Но к вопросу о лицензионной чистоте продукции ... smile.gif У меня не хватает совести указать им на глюк...

Сообщение отредактировал urry1 - Mar 28 2007, 09:22
Прикрепленные файлы
Прикрепленный файл  123.rar ( 27.51 килобайт ) Кол-во скачиваний: 41
 
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd August 2025 - 10:59
Рейтинг@Mail.ru


Страница сгенерированна за 0.01404 секунд с 7
ELECTRONIX ©2004-2016