С одной стороны, как бы, да. Но я смотрю на осциллограмму и вижу,
что с нечётных адресов считываются нечётные данные. Но можно и
ассемблер, ессно. Убрал волатильности, от них тока гемор. Круто он
оптимизировал, есличо! Попробуем добавить волатильности.
908: 60002437 lui s0,0x60002 90c: 03000b93 li s7,48 TIM7->CTLR1|=TIM_CEN; 910: 0017e793 ori a5,a5,1 914: 40f71023 sh a5,1024(a4) *pointer++=mask+i; 918: 03100b13 li s6,49 91c: 03200a93 li s5,50 920: 03300a13 li s4,51 924: 03400993 li s3,52 928: 03500913 li s2,53 92c: 03600493 li s1,54 mainWorkModeSelector(); 930: 2285 jal a90 <mainWorkModeSelector> *pointer++=mask+i; 932: 03700793 li a5,55 936: 1cf41723 sh a5,462(s0) # 600021ce <_eusrstack+0x3fffa1ce> 93a: 03800793 li a5,56 93e: 1cf41823 sh a5,464(s0) 942: 03900793 li a5,57 946: 1d741023 sh s7,448(s0) 94a: 1d641123 sh s6,450(s0) 94e: 1d541223 sh s5,452(s0) 952: 1d441323 sh s4,454(s0) 956: 1d341423 sh s3,456(s0) 95a: 1d241523 sh s2,458(s0) 95e: 1c941623 sh s1,460(s0) 962: 1cf41923 sh a5,466(s0) wptr=(uint16_t *)(txtString3+beginOfTxtFieldForWorking); for(i=0;i<10;i++) { buffer[i]=*wptr++; } KBDservice(); 966: 3e5d jal 51c <KBDservice> 968: b7e1 j 930 <main+0x40>
-
- Добавил. Ничего сверхъестественного. mse homjak(1952 знак., 25.08.2024 22:03)