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