Přejít na obsah
ARCHIVEKArchiv e-mailových konferencí o 8bitových počítačích Archiv Pandory 1999 až 2013

Re: [SharpMZ] Upraveny FDC Horava - BUG

Michal Hucik - ORDOZ <ordoz@[doména skryta]> SHARP MZ-800



Moment Hynku, ted si asi nerozumime. Ta Unikarta se kterou pracuji je stale ta puvodni verze, ktera je osazena procesorem STM32F1xx. Nasledujici varianta s F4xx, kterou si pak na zakladech te nasi postavil Bohous, myslim jeste neni ani tolik rozsirena, jako ta puvodni, kterou jsme ubastlili s Vaskem Peroutkou. ( To by mozna bylo dobre tema na flame war. Zajimalo by mne jake je vlastne nyni mezi Sharpisty obsazeni verzi Unikaret  :)

Ona v podstate i ta karta s F1xx byla remake, protoze uplne prvni bastl jsem mel postaveny jako chuvalec dratu okolo Atmega64. Prave proto jsme se uz snazili udrzet kod tak, aby ty HW zavisle casti byly drzeny na jednom miste v HAL vrstve.

Kazdopadne se mi stale nedari znovu zopakovat tu chybu pri ktere Horava brecel, ze Sharp nereaguje na interrupt a to ani kdyz jsem vratil ten firmware do puvodni verze, kdy se to CRH zapisovalo stale dokola :(
 
Delaji se mi tu kazdou hodinu inkrementalni zalohy, tak si jeste dnes zkusim vytahnout dva dny starou verzi a zkusim, zda se mi to s ni podari zreprodukovat.

Michal

Dne 10.7.2014 6:15, Hynek Sladky napsal(a):
Nemuze byt treba taky problem v pouziti nespravneho headeru? SMT32F1xx ma jine definice nez STM32F4xx. CRL a CRH (offest 0 a 4) maji jinou strukturu nez porty MODER a OTYPER (take offset 0 a 4), ktere jsou u STM32F4. Pokud se zapisuje do CRH, tak se vlastne zapisuje do OTYPER, ale zapisuji se tam nesmyslna data... MODER (ktery ridi prepinani input/output) se nemeni... takze muze byt problem tam...
Urcite bych doporucil pouzit spravne definice registru (i kdyz to mozna bude trochu prace to upravit, aby to spravne chodilo...)

Hynek Sladky


Dne 9.7.2014 18:22, Michal Hucik - ORDOZ napsal(a):

ad to CRH: netusim jak se to dela u F4xx. Puvodni Unikarta je postavena na STM32F1xx a jedna se o port configuration register, kterym se nastavuje horni polovina portu (pro tu dolni je tady registr CRL). Kazdy pin je konfigurovan dvou bitovou hodnotou mode a dvou bitovou hodnotou cnf.

Michal

Dne 9.7.2014 16:28, Hynek Sladky napsal(a):
Toto:
   GPIOB->ODR &= ~( 1 << 9 ); // nastavenim 0 na pinu PB9 aktivujeme SharpINT
je potencialne nebezpecna operace, protoze neni atomicka. Muze se stat, ze mezi ctenim a zapisem se zmeni hodnota portu v preruseni... Doporucoval bych pouziti BSRR registru.
Dale by se mozna dal pouzit rezim open-drain (OTYPER registr).

Mimochodem, co to je za registr CRH? V RM0090 pro STM32F4xx jsem ho nenasel...

Hynek Sladky





_______________________________________________
SharpMZ mailing list
SharpMZmail.ordoz.com
http://mail.ordoz.com/mailman/listinfo/sharpmz

Zobrazit původní podobu

Vlákno · 8 zpráv

Zobrazit celé vlákno na jedné stránce

  1. [SharpMZ] Upraveny FDC Horava - BUG Michal Hucik - ORDOZ <ordoz@[doména skryta]>
  2. Re: [SharpMZ] Upraveny FDC Horava - BUG Hynek Sladky <econf@[doména skryta]>
  3. Re: [SharpMZ] Upraveny FDC Horava - BUG Radek Suk <suk@[doména skryta]>
  4. Re: [SharpMZ] Upraveny FDC Horava - BUG Michal Hucik - ORDOZ <ordoz@[doména skryta]>
  5. Re: [SharpMZ] Upraveny FDC Horava - BUG Hynek Sladky <econf@[doména skryta]>
  6. Re: [SharpMZ] Upraveny FDC Horava - BUG Michal Hucik - ORDOZ <ordoz@[doména skryta]>
  7. Re: [SharpMZ] Upraveny FDC Horava - BUG Hynek Sladky <econf@[doména skryta]>
  8. Re: [SharpMZ] Upraveny FDC Horava - BUG Michal Hucik - ORDOZ <ordoz@[doména skryta]>