[abc80] koppla ABC80 till PIC32:an
juhasz at abc.se
juhasz at abc.se
Tis Sep 7 14:20:16 PDT 2010
tack för alla tipsen! är bortrest just nu men ska testa när jag kommer hem
efter veckan.
och som jag kommit fram till tidigare: sätter mna ipl7 så får man en
mycket snabbare rutin. men hela erfarenheten får mig att viĺja kolla på
ARM chip i stället...!
Robert
> On 08/30/2010 10:41 AM, juhasz at abc.se wrote:
>> void __ISR(_CHANGE_NOTICE_VECTOR, ipl2) ChangeNotice_Handler(void)
>> {
>> unsigned int temp,data;
>> PORTE=55;
>> PORTE=66;
>> PORTE=77;
>> // clear the mismatch condition
>> temp = mPORTBRead();
>>
>> if (!(temp & 1)) //IN1
>> {
>>
>> mPORTEWrite(34); // output a " character
>> while (!mPORTBReadBits(BIT_0)); // wait until read op finishes
>>
>>
>> mPORTFToggleBits(BIT_1);
>> putsUART2("\n CN2/IN1: ");
>> putsUART2("\n\r");
>> }
>>
>> if ((temp & 2)==0) //OUT2
>> {
>> data=mPORTERead();
>> mPORTFToggleBits(BIT_1);
>> putsUART2("\n CN3/OUT2: ");
>> putcUART2(data & 255);
>> putsUART2("\n\r");
>> }
>>
>> // clear the interrupt flag
>> mCNClearIntFlag();
>> mPORTEWrite(255);
>>
>>
>>
>> }
>
> Det är förmodligen värt att påpeka att du lär få *mycket* bättre kod ur
> gcc om du inte anropar subrutiner (annat än inline) från din
> interruptrutin. Om du tar bort putsUART2() och putcUART2()-anropen så
> slipper du den enormt långa prologen.
>
> Anledningen att du behöver göra OPEN DRAIN här är naturligtvis att du
> inte stänger av drivningen till PORT E när den inte ska användas.
>
> Något i stil med det medskickade borde funka (total otestat, eftersom
> jag inte ens har hårdvaran)... sen är det en fråga om det fortfarande är
> för långsamt. Som sagt var blir det ännu värre om man ska simulera
> minne... Z80 ger 2,5 cycler för en I/O-referens (varav internkretsar i
> ABC80 äter 0,5 cycler, plus propageringstid) medan den bara ger 1,0
> cycler för kod och 1,5 cycler för datareferenser till minnet.
>
> -hpa
>
>
> P.S. Microchips licenspolicy är totalt bondfångeri. Ladda ner källkoden
> och kompilera ur tested för "lite mode" så har du en helt fungerande
> kompilator. Vilka totalmuppar -- en av anledningarna att jag inte
> gillar Microchip.
>
More information about the ABC80
mailing list