Dalsi z mych zahad s PICy

HW CNCnet.info hwnews@cncnet.info
Pondělí Listopad 19 09:47:59 CET 2007


Odpovim si sam.

Ac by se zdalo, ze oba CCP moduly jsou stejne tak asi nejsou - modulu 
CCP1 proste vadi zapis na dolni dva bity registru CCP1CON prestoze 
pisou, ze pro rezim PWM je konfigurace 11xx - kdyz tam zapisuju 1100 tak 
to chodi ok kdyz 1111 tak to dela brikule. U CCP2 je to bez problemu v 
obou pripadech.

Radek Vicek
======================================================================
http://www.cncnet.info - problematika CNC a automatizace
http://www.jakjevenku.info - webová meteostanice

HW CNCnet.info napsal(a):
> Zkousim si ted trochu hrat s 18tkovou radou PICu konkretne 18F2220 a 
> zkoumam CCP moduly.
> 
> Chtel jsem synchronne generovat stejny prubeh pomoci tabulky v pameti s 
> tim, ze budu prepisovat hodnoty registru nastavujici duty PWM. Neco je, 
> ale podivneho nebot mi jedou ty PWMky posunute o 90st (kdyz kreslim 
> napr. sinus).
> 
> Je to trivialni kus kodu:
> 
>    repeat
>      fazeA:=fazeA+mode;
>      fazeB:=fazeB+mode;
>      temp1:=sinusLSB[fazeA];
>      temp2:=sinusMSB[fazeA];
> 
>      CCP2CON:=temp1;
>      CCPR2L:=temp2;
>      CCP1CON:=temp1;
>      CCPR1L:=temp2;
> 
>      Delay_ms(100);
>    until false;
> 
> ty tabulky jsou dve v jedne jsou hodnoty pro CCPRxL a v druhe pro 
> CCPxCON s tim ze dolni ctyri bity jsou stale 1111.
> 
> Co jsem si zatim vyzkoumal tak neco divneho je v okamziku kdy zapisu do 
> CCP1CON. Bylo mi totiz divne, ze PWM2 po resetu nabiha pekne od nuly 
> (tak ta tabulka zacina) a PWM1 se rozsviti naplno. Kdyz ten registr 
> CCP1CON neprepisuju rozbihaji se oba vystupy od nuly (jen jde ten PWM1 
> hrubeji coz je jasne kdyz mu chybi dole 2 bity). Pokud to necham tak jak 
> to je viz kod vyse tak to jede plynule, ale stridave.
> 
> Nevite nekdo v cem muze byt problem?
> 



Další informace o konferenci Hw-list