Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
05.08.2007, 14:01
|
|
Частый гость
Регистрация: 21.12.2006
Сообщений: 24
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
робота с SPI
Не подскажет кто-то, при работе с шиной SPI нужно заранее заносить какие то значения в линии портов
(те линии, которие используютса модулем SPI), или же он сам их настроит при включении модуля.
Сам работаю с Пиком! Какие би значения не заносил - при симуляции в Протеусе - на линиях SPI показивает низкий уровень!
|
|
|
|
05.08.2007, 14:18
|
|
Вид на жительство
Регистрация: 23.04.2006
Сообщений: 308
Сказал спасибо: 14
Сказали Спасибо 13 раз(а) в 12 сообщении(ях)
|
Если PIC аппаратно поддерживает SPI, то у него имеются (обозначены в даташите) выводы с соответствующим обозначением SCK, SDO/SDI, SS. Их функции включаются в соответствующем управляющем регистре, обычно это SSPCON, SSPSTAT. При применении PIC без аппаратной поддержки, при софтовой реализации SPI сам назначишь фукции выводов.
В протеусе я делал проект управления по SPI цифровым резистором на 16F876 с аппаратной поддержкой. Есть даже где-то сообщения со скринами на этом форуме. Всё работало очень наглядно и познавательно.
|
|
|
|
05.08.2007, 15:25
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
|
Возможно и в самом PROTEUS есть пример с SPI
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
|
|
|
|
06.08.2007, 07:52
|
|
Прописка
Регистрация: 11.07.2006
Адрес: Ru, Nsk
Сообщений: 249
Сказал спасибо: 1
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
|
Линии настраивать нужно, при любом раскладе (в даташите про это пишут).
kviper, а на чем программа? Если на С то на сайте Hitech-a есть хороший пример (я приложил его в это сообщение на всякий случай).
А если на ASM-е, то вот пример из книги "Interfacing PIC Microcontrollers" (хз правда как он работает, не пробовал )
Код:
|
INCLUDE "P16F877.INC" ; Standard labels
Store EQU020
; Initialise ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;
ORG 0; Place machine code
NOP ; Required for ICD mode
BANKSELTRISC
BCFTRISC,5; Serial data(SDO) output
BCF TRISC,3 ; Serial clock (SCK) outpu
BCF TRISC,0 ; Slave select (SS) output
CLRWSSPSTAT ; Default clock timing
BANKSELPORTD
BSF PORTC,0 ;Reset slave transmitter
CLRFSSPCON; SPI master mode, 1MHz
; MAIN LOOP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;
BSF SSPCON,SSPEN; Enable SPI mode
again BCFPORTC,0; Enable slave tx
MOVWF SSPBUF;Rewrite buffer tostart
waitinBTFSSPIR1,SSPIF; wait for SPI interrupt
GOTOwaitin; for data received
BCF PIR1,SSPIF; clear interrupt flag
MOVFSSPBUF,W; read SPI buffer
MOVWF Store;store BCD value
BSF PORTC,0 ; Disable slave tx
MOVWFSSPBUF; Reload SPI buffer
waits BTFSSPIR1,SSPIF; wait for SPI interrupt
GOTOwaits ; for data sent
BCF PIR1,SSPIF; clear interrupt flag
GOTOagain ; repeat mainloop
END ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
Прикрепленный файл: 3740416.rar
|
|
|
|
06.08.2007, 09:43
|
|
Частый гость
Регистрация: 21.12.2006
Сообщений: 24
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
В самом протеусе примеров работи с SPI нет!
stri - спасибо за пример!
|
|
|
|
06.08.2007, 12:51
|
|
Временная регистрация
Регистрация: 03.10.2006
Сообщений: 75
Сказал спасибо: 51
Сказали Спасибо 4 раз(а) в 2 сообщении(ях)
|
Сообщение от kviper
|
В самом протеусе примеров работи с SPI нет!
stri - спасибо за пример!
|
Может вот это подойдет?
IO Controller with serial port CLI
http://www.petesworld.demon.co.uk/ho...rojects.htm#IO
|
|
|
|
07.08.2007, 10:05
|
|
Частый гость
Регистрация: 21.12.2006
Сообщений: 24
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
У меня получилось.
Если кому то тоже нужно вот заархивирований вариант:
Прикрепленный файл: 2322415.rar
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
SPI FLASH
|
roog |
Микроконтроллеры, АЦП, память и т.д |
6 |
06.12.2007 00:37 |
протокол SPI
|
dimonbest |
Микроконтроллеры, АЦП, память и т.д |
61 |
28.11.2007 19:59 |
Баг SPI
|
ruscad |
Микроконтроллеры, АЦП, память и т.д |
1 |
12.10.2007 22:58 |
32 Mb flash spi
|
Дима |
Микроконтроллеры, АЦП, память и т.д |
17 |
14.08.2003 11:28 |
Часовой пояс GMT +4, время: 22:38.
|
|