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

Re: Программный SPI для PIC

Добавлено: Ср сен 07, 2011 23:04:44
dosikus
Hispanus Если еще актуально. Набросайте схему .
Выложу код на CCS .
Да не лишнем будет рассекретить радио_модуль.

Re: Программный SPI для PIC

Добавлено: Ср сен 07, 2011 23:12:03
Hispanus
О радиомодуле с удовольствием..это один из самых дешевых, называется TR24A, стоит всего 100 рублей штука, интерфейс как писал выше - SPI, работает на 2.4ГГЦ при дальности до 100 метров..

Re: Программный SPI для PIC

Добавлено: Ср сен 07, 2011 23:18:43
Hispanus
Схема подключения как и у обычного слейва, только инициализация сложная :)

Re: Программный SPI для PIC

Добавлено: Ср сен 07, 2011 23:23:41
dosikus
Hispanus Если время ждет , завтра накидаю под 628 и выложу .
Но только код для осознания , с модулем не работал . Да и был бы он под рукой.
Далее чем собираетесь вести отладку ? Необходим хотя бы осциллограф , лучше логический анализатор .

Re: Программный SPI для PIC

Добавлено: Ср сен 07, 2011 23:26:10
dosikus
Hispanus писал(а):Схема подключения как и у обычного слейва, только инициализация сложная :)
Лапки пика какие хотите - минимум 3 . Если модуль критичен к /CS тогда 4.

Re: Программный SPI для PIC

Добавлено: Ср сен 07, 2011 23:29:45
Hispanus
Времени полно, подожду :) Ножек, да всего три. А тестить наверное в протеусе буду сначала, потом если заработает, возьму у кого нибудь осцилограф...Очень Вам признателен :beer:

Re: Программный SPI для PIC

Добавлено: Ср сен 07, 2011 23:35:51
dosikus
Hispanus писал(а): А тестить наверное в протеусе буду сначала, потом если заработает, возьму у кого нибудь осцилограф...Очень Вам признателен :beer:
Без проблем , Протеус 7.8 SP 2 . Компилятор CCS 4.120.
Кварц- МГц?
PORTB ?

Re: Программный SPI для PIC

Добавлено: Ср сен 07, 2011 23:40:58
Hispanus
Кварц 4 МГЦ внутренний, можно порт В :)

Re: Программный SPI для PIC

Добавлено: Чт сен 08, 2011 14:41:00
Hispanus
Чем глубже я погружаюсь в код от Слесарь, тем больше мне кажется, что я ничего не понимаю в этой жизни :)

Re: Программный SPI для PIC

Добавлено: Чт сен 08, 2011 16:08:44
Слесарь
Это понятно. Надо быть слесарем, чтоб понять представленный код

Re: Программный SPI для PIC

Добавлено: Чт сен 08, 2011 19:51:04
dosikus
Hispanus писал(а):Чем глубже я погружаюсь в код от Слесарь, тем больше мне кажется, что я ничего не понимаю в этой жизни :)
Пример готов. Передача работает , а вот прием в протеусе пока не знаю как проверить . Чтобы без извращений и понятно было...

Re: Программный SPI для PIC

Добавлено: Чт сен 08, 2011 19:54:56
Hispanus
Дайте хоть на передачу посмотреть, а то я сегодня себе уже всю голову сломал :)

Re: Программный SPI для PIC

Добавлено: Чт сен 08, 2011 20:19:56
dosikus
Лови , спрашивай .

Re: Программный SPI для PIC

Добавлено: Чт сен 08, 2011 20:59:53
Hispanus
Надо же, совсем не страшно :) Вот только немного смущает вот эта ветка:

Код: Выделить всё

  if(spi_buffer&0x80)
  SDA=High;
  else 
  SDA=Low;
Расшифруйте пожалуйста строчку spi_buffer&0x80. Это по моему из битовых операций: значение буфера (10000110) битово умножается на 10000000 и если это истина (1), выполняется оператор условия - SDA=High; Я так понимаю в этом и заключается вся передача :)

Re: Программный SPI для PIC

Добавлено: Чт сен 08, 2011 21:04:25
dosikus
К буферу применяем побитовое AND с маской , то есть выделяем седьмой бит .
Если он 1 то и вывод SDA 1 , и наоборот .
Проще говоря мы копируем последовательно все биты с буфера в вывод .

Вариация без маски - сдвигаем буфер через CARRY ( флаг переноса ) так же копируем анализируя.

Re: Программный SPI для PIC

Добавлено: Чт сен 08, 2011 21:06:29
Hispanus
Ну я так и понял, Спасибо :)

Re: Программный SPI для PIC

Добавлено: Чт сен 08, 2011 21:09:04
Hispanus

Код: Выделить всё

#asm
      
      nop
      nop
      
      #endasm
Нельзя заменить на временные задержки...это же пустые операторы вроде?

Re: Программный SPI для PIC

Добавлено: Чт сен 08, 2011 21:12:12
dosikus
Hispanus писал(а):

Код: Выделить всё

#asm
      
      nop
      nop
      
      #endasm
Нельзя заменить на временные задержки...это же пустые операторы вроде?
Собственно не хотел без комментариев выкладывать ...
Это и есть задержка - даже NOP имеет время исполнения .
Это скорей защитный интервал , он может здесь и не нужен. Однако ЧМЗ в 16х еще не отменили.

Re: Программный SPI для PIC

Добавлено: Чт сен 08, 2011 21:15:41
Hispanus
Да нет, впринципе понятно, просто и красиво..как раз то что надо :) Теперь можно начать мучить радиомодуль :solder:

Re: Программный SPI для PIC

Добавлено: Чт сен 08, 2011 21:19:07
dosikus
Один нюанс - фузы сами выставите ? Забыл прописать ...