Re: Opět jsem v PICu(i)
Ondřej Janovský
ondrej.janovsky na alarex.cz
Středa Listopad 16 13:33:51 CET 2016
No to tu není, protože by to bylo dlouhé. Kompilátor XC8 dělá dost
zajímavý kód, který je roztahaný.
Jinak mám problém s tím, že jsem si chtěl ověřit, že se mi zakazuje
přerušení jak má, tak jsem si umazal povolení přerušení .... kód místo
toho, aby přestal obsluhovat I2C a Timer, tak fungoval dál. Udělal jsem
5 překladů a náhrání do procesoru a nic. Po 6 to najednou zase fungovalo
jak má. Tak tu buď straší, nebo dělám jednu botu za druhou.
A nakonec jsem ještě zkusil vypnout přerušení a udělat porovnání 2x po
sobě a výsledek je, že se opravdu ty porovnání vyhodnotily rozdílně. A
podotýkám, proměnné, které porovnávám se nenastavují ani v jednom přerušení.
On 11/16/2016 13:24, Jan Waclawek wrote:
> No a kde je to slubovane zakazovanie prerusenia pocas citania premennej
> ktora sa meni v preruseni?
>
> wek
>
>
> ----- Original Message ---------------
>> Tak to tu mám. Vypadá to, ľe někdy se střetne přeruąení od I2C s
>> vyhodnocením podmínky a je zle.
>> Zakázal jsem i přeruąení, počkal 8 x NOP a teprve pak vyhodnocoval, ale
>> občas (za daleko deląí dobu) se chyba stane také.
>>
>> Line Address Opcode Label DisAssy
>> 65498 1FFB2 0100 MOVLB 0x0
>> 65499 1FFB4 EFDC GOTO 0x1FFB8
>> 65500 1FFB6 F0FF NOP
>> 65501 1FFB8 0E68 main MOVLW 0x68
>> 65502 1FFBA 6E02 MOVWF a, ACCESS
>> 65503 1FFBC 0EEC MOVLW 0xEC
>> 65504 1FFBE 6E03 MOVWF 0x3, ACCESS
>> 65505 1FFC0 0E06 MOVLW 0x6
>> 65506 1FFC2 6E04 MOVWF 0x4, ACCESS
>> 65507 1FFC4 0E00 MOVLW 0x0
>> 65508 1FFC6 6E05 MOVWF 0x5, ACCESS
>> 65509 1FFC8 0E70 MOVLW 0x70
>> 65510 1FFCA 6E06 MOVWF b, ACCESS
>> 65511 1FFCC 0EED MOVLW 0xED
>> 65512 1FFCE 6E07 MOVWF 0x7, ACCESS
>> 65513 1FFD0 0E06 MOVLW 0x6
>> 65514 1FFD2 6E08 MOVWF 0x8, ACCESS
>> 65515 1FFD4 0E00 MOVLW 0x0
>> 65516 1FFD6 6E09 MOVWF 0x9, ACCESS
>> 65517 1FFD8 5006 MOVF b, W, ACCESS
>> 65518 1FFDA 5C02 SUBWF a, W, ACCESS
>> 65519 1FFDC 5007 MOVF 0x7, W, ACCESS
>> 65520 1FFDE 5803 SUBWFB 0x3, W, ACCESS
>> 65521 1FFE0 5008 MOVF 0x8, W, ACCESS
>> 65522 1FFE2 5804 SUBWFB 0x4, W, ACCESS
>> 65523 1FFE4 5009 MOVF 0x9, W, ACCESS
>> 65524 1FFE6 5805 SUBWFB 0x5, W, ACCESS
>> 65525 1FFE8 A0D8 BTFSS STATUS, 0, ACCESS
>> 65526 1FFEA D002 BRA 0xFFF0
>> 65527 1FFEC 0E01 MOVLW 0x1
>> 65528 1FFEE D001 BRA 0xFFF2
>> 65529 1FFF0 0E00 MOVLW 0x0
>> 65530 1FFF2 6E01 MOVWF __pcstackCOMRAM, ACCESS
>> 65531 1FFF4 EF00 GOTO 0x0
>> 65532 1FFF6 F000 NOP
>>
>>
>> A v "c"
>>
>> unsigned long a = 453736UL;
>> unsigned long b = 454000UL;
>> unsigned char x = (a >= b);
>>
> _______________________________________________
> HW-list mailing list - sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
Další informace o konferenci Hw-list