Zdravim, nema niekto zaručene funkcny priklad pouzitia SPI v asm alebo co este treba nastavit okrem SSPSTAT, SSPCON a TRISC aby tento modul bol funkcny? Skusal som uz vsetky nastavenia podla katalogu. Udaje sa zapisu do SSPBUF ale neodoslu sa. V registroch mam nastavene povolenie SPI. Moje nastavenie sa zhoduje z vacsinou nastaveni uvadzanych na inete.
Skusal so to na 16f877. Uz nemam napady co este je potrebne spravit.
Za kazdu radu dakujem
kód:
list p=16f877A, R=DEC
include "p16f877A.inc"
org 0x0000 ; zacatek programu
goto INIT ; skok na počáteční inicializaci
org 0x0004
retfie
;**************************************************************************
INIT movlw b'000000' ; prednastaveni PORTu A
movwf PORTA
movlw b'00000000' ; prednastaveni PORTu B
movwf PORTB
movlw b'00000000' ; přednastavení PORTu D
movwf PORTD ; !!! jen PIC16F874 a PIC16F877 !!!
movlw b'000' ; přednastavení PORTu E
movwf PORTE ; !!! jen PIC16F874 a PIC16F877 !!!
; ------------------------
bcf STATUS,RP1
bsf STATUS,RP0 ; banka registru 1
Založen: May 13, 2007 Příspěvky: 90 Bydliště: Brno, Pov. Bystrica
Zaslal: st červen 13 2007, 13:22 Předmět:
A nebude chyba inde?
Mne sa nestalo, ked si otvorim datasheet akehokolvek protokolu a idem krok po kroku, dodrzim vsetko co mam, aby to neslo.....a ked neslo, tak som spatne zistil, ze som predsa len cosi nedodrzal
Mozno ze mas chybu na druhej strane rozhrania
Založen: Dec 26, 2004 Příspěvky: 1462 Bydliště: Košice - okolie
Zaslal: st červen 13 2007, 14:00 Předmět:
Ja som uz skusal aj priamo ASM subory microchipu, previedol som ich na HEX a nic neslo to. Z mikroprocesora nelezie von nic, porty zostávaju trvalo v LOG0 a nemenia sa vobec, asi bude treba nieco nastavit co prehliadam ale uz fakt netusim co. Skusam to uz cez tyzden , asi to hodim o zem a spravim to SW a snad to pojde
Možná by nezaškodila elementární kontrola programu. Když si to odsimuluješ v MPLABu, tak ti snad nebude trvat týden, než přijdeš na to, že registr SSPSTAT není v bance 0, kde ho chybně adresuješ v sekci "main", nýbrž v bance 1.
A když si přečteš pozorně datasheet, tak dospěješ k závěru, že instrukce
Následující program nastaví SSP modul a opakovaně v Master modu vysílá data. Ta jsou určena proměnou TxData, která se mění- inkrementuje. Program je pro jednoduchost v minimální verzi . Byl testován a fyzicky opravdu funguje. S krystalem 77,5kHz, LED a zrcátkem jsem viděl SCK i SDO. Propojením SDO-SDI procesor načítal data, která sám odeslal.
Měl jsem pouze 16F877. Pro procesor 16F877A by mělo stačit opravit řádky
kód:
list P=PIC16F877
#include <P16F877.INC>
na
kód:
list P=PIC16F877A
#include <P16F877A.INC>
a v příkazu _CONFIG nastavit správný rezonátor!!!!
Vlastní kompletní program (MPLAB 7.60)
kód:
list P=PIC16F877 ; list directive to define processor
#include <P16F877.INC> ; processor specific variable definitions
errorlevel -302
__CONFIG _BODEN_OFF & _CP_OFF & _WRT_ENABLE_OFF & _PWRTE_OFF & _WDT_OFF &_LP_OSC & _DEBUG_ON & _CPD_OFF & _LVP_OFF
Nemůžete odesílat nové téma do tohoto fóra. Nemůžete odpovídat na témata v tomto fóru. Nemůžete upravovat své příspěvky v tomto fóru. Nemůžete mazat své příspěvky v tomto fóru. Nemůžete hlasovat v tomto fóru. Nemůžete připojovat soubory k příspěvkům Můžete stahovat a prohlížet přiložené soubory
Informace na portálu Elektro bastlírny jsou prezentovány za účelem vzdělání čtenářů a rozšíření zájmu o elektroniku. Autoři článků na serveru neberou žádnou zodpovědnost za škody vzniklé těmito zapojeními. Rovněž neberou žádnou odpovědnost za případnou újmu na zdraví vzniklou úrazem elektrickým proudem. Autoři a správci těchto stránek nepřejímají záruku za správnost zveřejněných materiálů. Předkládané informace a zapojení jsou zveřejněny bez ohledu na případné patenty třetích osob. Nároky na odškodnění na základě změn, chyb nebo vynechání jsou zásadně vyloučeny. Všechny registrované nebo jiné obchodní známky zde použité jsou majetkem jejich vlastníků. Uvedením nejsou zpochybněna z toho vyplývající vlastnická práva. Použití konstrukcí v rozporu se zákonem je přísně zakázáno. Vzhledem k tomu, že původ předkládaných materiálů nelze žádným způsobem dohledat, nelze je použít pro komerční účely! Tento nekomerční server nemá z uvedených zapojení či konstrukcí žádný zisk. Nezodpovídáme za pravost předkládaných materiálů třetími osobami a jejich původ. V případě, že zjistíte porušení autorského práva či jiné nesrovnalosti, kontaktujte administrátory na diskuzním fóru EB.